+ area = QRect( 0, 0, 0, 0 ); // bogus value so that updateClientArea does the right thing
This fixes the icons being put on the topleft corner on startup.
updateClientArea wasn't setting the values in NETWM because it didn't detect
a change (until kicker started).
svn path=/trunk/kdebase/kwin/; revision=82160
Don't update the frame decoration if it didn't change, I don't want
flicker when changing the focus policy.
svn path=/trunk/kdebase/kwin/; revision=80891
The problem was that when switching to a window on a different desktop via the taskbar setCurrentDesktop made a different window active for a second.
svn path=/trunk/kdebase/kwin/; revision=77821
"magnetic" style and the new "barrier" style.
To enable the new style insert MagneticBorders=off in your kwinrc.
The gui for the control center will follow the next days.
Anybody a good idea how to call it ?
Two radiobuttons, one "Magnetic borders", the other one "Barrier Borders" ?
Alex
svn path=/trunk/kdebase/kwin/; revision=69692
"sticky" is the wrong term. In order to make it easier to combine
different window managers, we removed it. In the NET specs, sticky
means something entirely different.
What you want is "On All Desktops" and it's already available in
the menu under ToDesktop->AllDesktops
svn path=/trunk/kdebase/kwin/; revision=69381
I remember that I removed those already some time ago. Somebody keeps
believing that KWin has something to do with a) KDE startup and b) KDE
Exit, grmbl.
This is not true, it's ksmserver who does this.
Unfortunatly I cannot remove the "logout" keybindings due to the translations.
It rather belongs into kdesktopbindings than kwinbindings.
Please, guys, kwin is a *window* manager, not a desktop (seems like a
neverending story...)
svn path=/trunk/kdebase/kwin/; revision=66503
visible dialogs for stays-on-top fullscreen windows (helps with Konqueror's dialogs)
Fixed lock with Alt-Tab box plus accelerator
svn path=/trunk/kdebase/kwin/; revision=65241
- if you minimize a window, it will be put to the end of the focus change
(technically, to the beginning, see the prepend() )
- if you switch desktop, sticky windows are ignored as long as there are
non-sticky windows in the change
- this does not happen if the sticky window is actually active. In that case it
remains active.
Patch tested by Christian Gebauer
svn path=/trunk/kdebase/kwin/; revision=64442
#6808: selecting a "Decoration" by right-clicking on a window de-iconify windows.
#7983: SHIP STOPPER: kwin - titlebars get <2> after the name of the application when changing decorations
Reviewed by gis.
svn path=/trunk/kdebase/kwin/; revision=63563
- support for WM_COMMAND pseudo session management (xterm and friends)
- basic support for private colormaps, useful on the last remaining 8bit displays
svn path=/trunk/kdebase/kwin/; revision=62239
- adjust to workarea changes
- not movable or resizable
- not show vertical borders if not necessary
- new default style: middle mouse and right mouse for maximize button
- now resize mouse cursors if the window is not resizable
svn path=/trunk/kdebase/kwin/; revision=61240
The class still duplicates too much functionality of the base class (Client).
IMO the ResizeBar widgets have to go, it can all be done by painting directly
on the main Manager.
svn path=/trunk/kdebase/kwin/; revision=59127
/*!
Different focus policies:
<ul>
<li>ClickToFocus - Clicking into a window activates it. This is
also the default.
<li>FocusFollowsMouse - Moving the mouse pointer actively onto a
normal window activates it. For convenience, the desktop and
windows on the dock are excluded. They require clicking.
<li>FocusUnderMouse - The window that happens to be under the
mouse pointer becomes active. The invariant is: no window can
have focus that is not under the mouse. This also means that
Alt-Tab won't work properly and popup dialogs are usually
unsable with the keyboard. Note that the desktop and windows on
the dock are excluded for convenience. They get focus only when
clicking on it.
<li>FocusStrictlyUnderMouse - this is even worse than
FocusUnderMouse. Only the window under the mouse pointer is
active. If the mouse points nowhere, nothing has the focus. If
the mouse points onto the desktop, the desktop has focus. The
same holds for windows on the dock.
Note that FocusUnderMouse and FocusStrictlyUnderMouse are not
particulary useful. They are only provided for old-fashined
die-hard UNIX people ;-)
</ul>
*/
FocusPolicy=ClickToFocus | FocusFollowsMouse | FocusUnderMouse | FocusStrictlyUnderMouse
/**
Different Alt-Tab-Styles:
<ul>
<li> KDE - the recommended KDE style. Alt-Tab opens a nice icon
box that makes it easy to select the window you want to tab
to. The order automatically adjusts to the most recently used
windows. Note that KDE style does not work with the
FocusUnderMouse and FocusStrictlyUnderMouse focus
policies. Choose ClickToFocus or FocusFollowsMouse instead.
<li> CDE - the old-fashion CDE style. Alt-Tab cycles between
the windows in static order. The current window gets raised,
the previous window gets lowered.
</ul>
*/
AltTabStyle=KDE | CDE
svn path=/trunk/kdebase/kwin/; revision=54010
Commented out the feature (you didn't think I would reimplement it, did you ?) :)
And took the opportunity of touching Makefile.am for including *.moc in *.cpp
(faster compilation, smaller link lines, less files...)
svn path=/trunk/kdebase/kwin/; revision=52667
This prevents a lot of stupid focus changes when you move a window
around with focusFollowsMouse.
(mouse moves -> focus changes -> window moves -> focus changes back)
svn path=/trunk/kdebase/kwin/; revision=51574
with kicker. This allows us to apply kicker rules for internalapplets
that are external to Kicker (e.g., kasbar and ktaskbar)
Also converted qDebug calls to kdDebug while I was debugging
svn path=/trunk/kdebase/kwin/; revision=50597
pasted everything from kwm. It works.
However, I don't know if this fits the new design or not. Maybe some
of the functions are accomplished elsewhere? I think Matthias needs
to take a look at this...
But like I said, it does work :-)
svn path=/trunk/kdebase/kwin/; revision=49849
if true (default), the lowered client looses focus, and the top of
stacking order gets it. Something is not working if one lowers many
windows one after another... investigating
svn path=/trunk/kdebase/kwin/; revision=48229
Note that it leaves the focus where it was, which may seem strange if the
to be lowered window becomes fully obscured, but to change focus would be
the purpose of the calling function. To be discussed.
svn path=/trunk/kdebase/kwin/; revision=48202
to be avoided. It also updates nicely. Just move kicker from the
bottom to the left, say, and open a new window. It doesn't cover
kicker. Maximise. Still doesn't cover. Seems to work, then.
svn path=/trunk/kdebase/kwin/; revision=47602
which otherwise would occur when you click on the Alt-Tab-window with the
mouse. I hope I didn't break anything because this X-stuff is rather mystical.
BTW Why does KWin get so many "MotionNotify" events when you move your mouse
across certain windows?
svn path=/trunk/kdebase/kwin/; revision=47554
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