Lets get all the little things that have happened in KWin Land over the last week out of the way first:
Now on to the bigger ones.
Commit r926545 by lmurray (15th February, 2009):
Ignore struts half-way up the screen when calculating the available work area. Fixes placement and resizing of windows on the larger monitor of a xinerama setup where each monitor has a different resolution.
BUG: 184348
Commit r927466 by lmurray (17th February, 2009):
Improved window movement around struts. Windows can be moved anywhere where the titlebar is still clickable even if it is outside the normal work area. When struts are added or removed only move the windows that cover the same area, leave all others untouched. If a strut is removed on a xinerama screen that is not on the edge of the full desktop area prevent the windows from being moved offscreen. Prevent struts/panels from interfering with the movement of windows on other xinerama screens.
BUG: 74559
BUG: 90833
BUG: 160068
Commit r929324 by lmurray (21st February, 2009):
Added EffectFrame, a helper class that creates, manages and caches a Plasma frame object. There are two ways to use this class: The first is in "static" mode which gives the frame a set geometry and will not change, the second is an automatic mode that creates the smallest possible frame around the specified contents. Contents can either be normal text and/or a QPixmap, useful for displaying the caption and icon of the currently highlighed window.
Known bugs:
- Does not detect Plasma theme changes, known to be in the Plasma library.
- Slight graphical glitches, known to be in Qt 4.5.0 RC1.
Untested:
- What happens when there is no Plasma theme installed.
Due to recent changes to the KDE global shortcut system KWin's alt+tab window switcher is currently semi-broken in SVN/trunk (Update: Not anymore! Was fixed a little while ago). I am led to believe that the issue is that KWin is starting before the shortcut daemon so is unable to register the shortcuts completely. Until this is amended there are two ways to workaround the issue:
kwin --replace after the session has
completely loaded, or