My KWIN fork where I work on features like per-output virtual desktops
Find a file
Rik Hemsley 330ea804b2 Preliminary support for avoiding covering clients such as kicker
which want to be permanently visible.

I've used an XAtom called '_NET_AVOID_SPEC'. This of course can change
if need be. I think it's correct according to the wm spec, but the
wm spec seems to be empty on gnome.org, so who knows.

Windows can choose to be avoided by setting an XTextProperty
with one value, which can be either 'N', 'S', 'E', or 'W', according
to which screen edge they are anchored to.

kwin then sets its 'clientArea' rect appropriately, so that (in
  theory at least) clients will not enter this area in some circumstances,
such as when being mapped for the first time.

You can see that this actually works if you start lots of konsoles. They
don't appear over the panel. I don't know what happens if you move the
panel, but I presume things will be screwed up, because I haven't
looked at that yet.

If you maximise a window, it'll still fill the screen, because the
implementation of maximise in kwin/client.cpp doesn't take account
of the workspace's clientArea rect. This is easy to fix, but I've
been awake for too long, so I'll do it after 42 winks.

svn path=/trunk/kdebase/kwin/; revision=46772
2000-04-16 09:06:03 +00:00
clients Colour change 2000-04-16 08:56:32 +00:00
images moved over from kwm. 1999-12-14 21:11:15 +00:00
pics moved over from kwm. 1999-12-14 21:11:15 +00:00
atoms.cpp support for the MOTIF noBorder hint 2000-04-06 18:29:04 +00:00
atoms.h support for the MOTIF noBorder hint 2000-04-06 18:29:04 +00:00
client.cpp Preliminary support for avoiding covering clients such as kicker 2000-04-16 09:06:03 +00:00
client.h Preliminary support for avoiding covering clients such as kicker 2000-04-16 09:06:03 +00:00
hil-app-kwin.png adding new icons sent by Tackat 1999-12-05 13:39:13 +00:00
him-app-kwin.png adding new icons sent by Tackat 1999-12-05 13:39:13 +00:00
kwin more experimental stuff 1999-09-27 16:02:44 +00:00
kwinbindings.cpp More keyboard commands such as "Window move" and "Window resize". 1999-12-06 00:43:55 +00:00
lom-app-kwin.png adding new icons sent by Tackat 1999-12-05 13:39:13 +00:00
los-app-kwin.png adding new icons sent by Tackat 1999-12-05 13:39:13 +00:00
main.cpp App-starting notification support 2000-04-08 19:35:52 +00:00
main.h Session management for KDE-2.x : say hello to the ksmserver 2000-03-24 22:23:02 +00:00
Makefile.am WABA: Build kwin as a kdeinit module. 2000-02-24 14:46:31 +00:00
NEWCOLORSCHEME.README My weekly big ass style commit ;-) This implements what I discussed earlier 2000-01-23 23:33:29 +00:00
options.cpp Corrected some config strings. s/Full// 2000-04-08 19:36:24 +00:00
options.h Session management for KDE-2.x : say hello to the ksmserver 2000-03-24 22:23:02 +00:00
plugins.cpp Session management for KDE-2.x : say hello to the ksmserver 2000-03-24 22:23:02 +00:00
plugins.h Session management for KDE-2.x : say hello to the ksmserver 2000-03-24 22:23:02 +00:00
README animated shading works again. Shortcut for shading possible 1999-11-29 02:49:20 +00:00
README.KRASH I was going to comment out all the styles except stdclient and system for 1999-12-14 23:12:12 +00:00
stdclient.cpp Session management for KDE-2.x : say hello to the ksmserver 2000-03-24 22:23:02 +00:00
stdclient.h Session management for KDE-2.x : say hello to the ksmserver 2000-03-24 22:23:02 +00:00
stdclient_bitmaps.h Did a real implementation for the question mark button for the standard style. 2000-01-17 05:31:28 +00:00
tabbox.cpp Session management for KDE-2.x : say hello to the ksmserver 2000-03-24 22:23:02 +00:00
tabbox.h Session management for KDE-2.x : say hello to the ksmserver 2000-03-24 22:23:02 +00:00
workspace.cpp Preliminary support for avoiding covering clients such as kicker 2000-04-16 09:06:03 +00:00
workspace.h Preliminary support for avoiding covering clients such as kicker 2000-04-16 09:06:03 +00:00

This is kwin, kwm next generation.

Currently supported options in the kwinrc:

[WM]
... general color stuff, usually in kdeglobals  ...

[Windows]

MoveMode=Opaque|Transparent
ResizeMode=Opaque|Transparent
Placement=Smart|Random|Cascade
AnimateShade=true|false
AnimSteps=<integer=20>
BorderSnapZone=<integer=10>
WindowSnapZone=<integer=10>
TitlebarDoubleClickCommand=Move|Resize|
        Maximize|Iconify|Close|Sticky|Shade|Operations

[MouseBindings]

	CommandActiveTitlebar1 |
	CommandActiveTitlebar2 |
	CommandActiveTitlebar3 | 
	CommandInactiveTitlebar1 |
	CommandInactiveTitlebar2 |
	CommandInactiveTitlebar3 |
	CommandWindow1 |
	CommandWindow2 |
	CommandWindow3 |
	CommandAll1 |
	CommandAll2 |
	CommandAll3 
    =
	Raise |
	Lower |
	Operations Menu |
	Toggle raise and  lower |
	Activate and raise |
	Activate and lower |
	Activate |
	Activate, raise and pass click |
	Activate and pass click |
	Move |
	Resize |
	Nothing 




Have fun,

   Matthias
  <ettrich@kde.org>