Commit graph

146 commits

Author SHA1 Message Date
Thomas Lübking
2df71872a0 don't raise the whole group with a transient, but only its ancestors
BUG: 199910

svn path=/trunk/KDE/kdebase/workspace/; revision=1030954
2009-10-03 15:40:58 +00:00
Albert Astals Cid
43f2a84f4e leak--
CID: 6200

svn path=/trunk/KDE/kdebase/workspace/; revision=951662
2009-04-09 20:48:44 +00:00
Lucas Murray
81ffa5aec9 Raise electric border windows when an effect mouse input window is
created to allow effects to be toggled by active screen edges.

svn path=/trunk/KDE/kdebase/workspace/; revision=922121
2009-02-06 14:21:20 +00:00
Lucas Murray
6d41a1320e Moved all debug, warning and error messages into the KWin 1212 area.
Replaced deprecated kdDebug() with kDebug().
Removed empty debug messages.

svn path=/trunk/KDE/kdebase/workspace/; revision=885620
2008-11-17 15:04:52 +00:00
Laurent Montel
5535a9de5e Fix iterator
svn path=/trunk/KDE/kdebase/workspace/; revision=883047
2008-11-11 23:09:11 +00:00
Luboš Luňák
b93766efc8 Make the cached stacking order invalid right after sending X command for changing it,
in case the new stacking order is needed before kwin gets the matching event,
due to X being asynchronous.
BUG: 171033


svn path=/trunk/KDE/kdebase/workspace/; revision=866605
2008-10-01 12:49:52 +00:00
Luboš Luňák
bd589d3adf Turn unredirect off when fullscreen is not on the active virtual desktop.
svn path=/trunk/KDE/kdebase/workspace/; revision=863950
2008-09-23 15:44:54 +00:00
Luboš Luňák
14ae8d2dc9 Support for unredirecting fullscreen windows, i.e. games etc. can paint directly
and not be slowed down by going through compositing. Turned on and no UI option
in the naive hope that it won't cause any real problems. Maybe effects doing
window previews should get API to suspend unredirect though.


svn path=/trunk/KDE/kdebase/workspace/; revision=851742
2008-08-24 13:32:57 +00:00
Luboš Luňák
09d81b7e87 Cache the result of XQueryTree().
svn path=/trunk/KDE/kdebase/workspace/; revision=851667
2008-08-24 10:35:45 +00:00
Luboš Luňák
818070d3aa Keep fullscreen windows covering the whole screen when it is the topmost
window on its xinerama screen.
FEATURE: 126817


svn path=/trunk/KDE/kdebase/workspace/; revision=851204
2008-08-23 09:20:42 +00:00
Luboš Luňák
79bb84e119 Use KWin's internal stacking order for managed windows, not the X one.
Fixes composited drawing of windows on other desktops.
BUG: 161436


svn path=/trunk/KDE/kdebase/workspace/; revision=828060
2008-07-04 14:06:23 +00:00
Luboš Luňák
e99c489ffe Fix an off-by-one error when keeping windows above their mainwindow.
svn path=/trunk/KDE/kdebase/workspace/; revision=826818
2008-07-01 14:09:41 +00:00
Luboš Luňák
4851bff561 Fix memory leak.
svn path=/trunk/KDE/kdebase/workspace/; revision=804132
2008-05-05 07:22:45 +00:00
Luboš Luňák
2f8d2751a1 Fix handling of stacking order of unmanaged windows. Could maybe use a little
bit more of optimization.
BUG: 157878


svn path=/trunk/KDE/kdebase/workspace/; revision=800581
2008-04-24 12:53:03 +00:00
Luboš Luňák
2ed7ffbac4 Off-by-one errors in stacking unmanaged windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=800276
2008-04-23 20:10:35 +00:00
Luboš Luňák
9eec690d9e Redo how transients raise their mainwindows - simply raise everything
in the group, instead of trying to walk up the possibly complicated
parents tree.


svn path=/trunk/KDE/kdebase/workspace/; revision=788489
2008-03-21 17:12:21 +00:00
Luboš Luňák
10d3e03266 Re-add debug code that got lost somehow ... and make it kdDebug()
to avoid the huge waste of space.


svn path=/trunk/KDE/kdebase/workspace/; revision=788162
2008-03-20 21:58:00 +00:00
Luboš Luňák
039fdd6124 Fix fullscreen on youtube with latest flash. Requiring the fullscreen
window to be focusable is probably unnecessary and this was breaking
because of the skiptasbar flag.


svn path=/trunk/KDE/kdebase/workspace/; revision=763600
2008-01-19 21:26:47 +00:00
Luboš Luňák
01bf6cbb4c License cleanup - add headers where missing, be explicit about GPL
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +00:00
Luboš Luňák
d6b7ef180d No kde3/qt3 support in kwin core. Saves about 150M of memory in gdb
by not loading the support libraries and the complete kdelibs stack it depends
on. Gdb taking 0.5M and lousy handling of near-OOM in Linux kernel
can be a pretty bad combination :(.


svn path=/trunk/KDE/kdebase/workspace/; revision=741856
2007-11-26 15:42:44 +00:00
Laurent Montel
994c800d79 Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Luboš Luňák
9052116e4f Support for having previews even for unmapped windows - they're
actually kept mapped, so that they still have the backing pixmap.
Plus some small tricks to prevent such windows from interfering.
Only two basic modes are implemented right now.


svn path=/trunk/KDE/kdebase/workspace/; revision=683156
2007-07-04 09:51:10 +00:00
Luboš Luňák
1040404a2a Track stacking order of unmanaged windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=667686
2007-05-23 16:22:59 +00:00
Luboš Luňák
8c5d3af9d5 Merging from old trunk:
r605401 | lunakl | 2006-11-16 17:56:16 +0100 (Thu, 16 Nov 2006) | 7 lines

Fix finding the most recently raised window when updating mouse
grab for click raise (#137119).

And I think I'll have somewhen to fix all the tabs and other
horrible things porting has done to indentation.


svn path=/trunk/KDE/kdebase/workspace/; revision=659312
2007-04-29 22:39:07 +00:00
Luboš Luňák
b9ce4b2954 Merging from old trunk:
r603295 | lunakl | 2006-11-08 14:59:27 +0100 (Wed, 08 Nov 2006) | 6 lines

Ok, with a compositing manager running, VisibilityNotify no longer
considers windows not visible just because a window is above them,
so the code from r198017 no longer works.
(#128648)


svn path=/trunk/KDE/kdebase/workspace/; revision=659308
2007-04-29 22:37:19 +00:00
Luboš Luňák
bdabd3c2ee Merging from old trunk:
r603050 | lunakl | 2006-11-07 18:07:24 +0100 (Tue, 07 Nov 2006) | 4 lines

Fix stacking order and focus chain when opening links in background
in Konqueror.


svn path=/trunk/KDE/kdebase/workspace/; revision=659304
2007-04-29 22:34:35 +00:00
Luboš Luňák
f52b8e48cd branches/work/kwin_composite becomes new trunk kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993 Remove kwin, kwin_composite will become new trunk kwin, missing merges
from trunk will be merged in.


svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Luboš Luňák
4319a1cc6b Fix stacking order of electric borders.
svn path=/branches/work/kwin_composite/; revision=654210
2007-04-15 13:28:19 +00:00
Luboš Luňák
2c928221a4 namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/trunk/KDE/kdebase/workspace/; revision=650773
2007-04-05 12:12:10 +00:00
Luboš Luňák
e3b865cd5f namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/branches/work/kwin_composite/; revision=650770
2007-04-05 12:07:35 +00:00
Luboš Luňák
35bbf89aed Add support for activating features using window borders/corners.
Enabled it for PresentWindowsEffect for now.


svn path=/branches/work/kwin_composite/; revision=650532
2007-04-04 19:08:03 +00:00
Luboš Luňák
d4a58f4152 QMap -> QHash
svn path=/branches/work/kwin_composite/; revision=642532
2007-03-14 16:50:19 +00:00
Luboš Luňák
5d4178c40c QMap -> QHash
svn path=/trunk/KDE/kdebase/workspace/; revision=642528
2007-03-14 16:39:50 +00:00
Luboš Luňák
4019dff500 Distinguish between damage and repaints - damage is when windows contents
change, repaint just triggers repaint of the area (without e.g. the texture
updating for OpenGL).
addDamage() -> addRepaint()
CCMAIL: kwin@kde.org


svn path=/branches/work/kwin_composite/; revision=632866
2007-02-12 15:22:43 +00:00
Luboš Luňák
29b8d42e55 Damage screen when stacking order changes.
svn path=/branches/work/kwin_composite/; revision=627103
2007-01-25 17:42:53 +00:00
Luboš Luňák
3a58fc2ea3 Oops, r527758 broke blocking of stacking updates.
svn path=/trunk/KDE/kdebase/workspace/; revision=621281
2007-01-08 15:02:12 +00:00
Luboš Luňák
4c27cb9729 Oops, r527758 broke blocking of stacking updates.
svn path=/branches/work/kwin_composite/; revision=621280
2007-01-08 15:01:49 +00:00
Luboš Luňák
43a945cd33 Fix finding the most recently raised window when updating mouse
grab for click raise (#137119).

And I think I'll have somewhen to fix all the tabs and other
horrible things porting has done to indentation.


svn path=/trunk/KDE/kdebase/workspace/; revision=605401
2006-11-16 16:56:16 +00:00
Luboš Luňák
3a0e22ebe3 Ok, with a compositing manager running, VisibilityNotify no longer
considers windows not visible just because a window is above them,
so the code from r198017 no longer works.
(#128648)


svn path=/trunk/KDE/kdebase/workspace/; revision=603295
2006-11-08 13:59:27 +00:00
Luboš Luňák
e17138c20b Fix stacking order and focus chain when opening links in background
in Konqueror.


svn path=/trunk/KDE/kdebase/workspace/; revision=603050
2006-11-07 17:07:24 +00:00
Luboš Luňák
e0dcc3ba46 Some convenience functions for QX11Info stuff.
svn path=/branches/work/kwin_composite/; revision=558154
2006-07-04 19:36:19 +00:00
Stephan Kulow
4c918b6f53 removed uses of deprecated qlist functions
svn path=/trunk/KDE/kdebase/workspace/; revision=535410
2006-04-29 14:38:17 +00:00
Luboš Luňák
daf4e723ea Save also stacking order when doing session save.
svn path=/trunk/KDE/kdebase/workspace/; revision=531882
2006-04-20 14:57:10 +00:00
Luboš Luňák
e906595aaf Separate focus chains are nice, but KDE-style Alt+Tab not limited
to the current desktop still needs the global one for MRU (#124721).


svn path=/trunk/KDE/kdebase/workspace/; revision=528612
2006-04-11 14:14:38 +00:00
Luboš Luňák
45c632848a Small fixes.
svn path=/trunk/KDE/kdebase/workspace/; revision=527758
2006-04-09 09:50:56 +00:00
Laurent Montel
99f8ff81b5 Deprecated--
svn path=/trunk/KDE/kdebase/kmenuedit/; revision=516274
2006-03-06 14:30:06 +00:00
Luboš Luňák
3c6af0ff28 Use a separate focus chain for each virtual desktop - this prevents onalldesktop
windows from usually getting focus after every virtual desktop switch.
Thanks for most of the work go to Guido Fiala <gfiala@s.netic.de>.
(#33701)


svn path=/trunk/KDE/kdebase/workspace/; revision=514057
2006-02-27 10:13:31 +00:00
Laurent Montel
0fa10f318d Deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=506323
2006-02-06 14:47:18 +00:00
Luboš Luňák
d128cbeb55 Put Keep-above windows even above docks (#118416).
svn path=/trunk/KDE/kdebase/workspace/; revision=488931
2005-12-16 14:08:20 +00:00
Stephan Kulow
b464518b3c svn merge svn+ssh://coolo@svn.kde.org/home/kde/trunk/KDE/kdebase@438057
svn+ssh://coolo@svn.kde.org/home/kde/branches/work/kde4/kdebase
          .

I couldn't resolve one kicker conflict that results from different
development directions, so I rely on Aaron to sort it out - the file
is commited with conflicts

svn path=/trunk/KDE/kdebase/kwin/; revision=439627
2005-07-28 14:59:42 +00:00
Luboš Luňák
229690ab71 Keep a fullscreen window on top not only if its has a transient
on top and active, but if it has active and on top any window
in its group. Let's see if it breaks something.
BUG: 108020


svn path=/trunk/KDE/kdebase/kwin/; revision=429892
2005-06-29 09:52:27 +00:00
Luboš Luňák
d4c5fd676a Show the desktop switch popupinfo also when using mouse, and whatever.
BUG: 80698


svn path=/trunk/KDE/kdebase/kwin/; revision=409960
2005-05-06 09:24:51 +00:00
Dirk Mueller
e7ad67c64b fix nonreproducible crash
svn path=/trunk/kdebase/kwin/; revision=397585
2005-03-14 18:23:13 +00:00
Luboš Luňák
4f43e53955 Fix #101209.
BUG: 101209

svn path=/trunk/kdebase/kwin/; revision=396387
2005-03-10 16:29:00 +00:00
Luboš Luňák
678ba0894d Some cleanups.
svn path=/trunk/kdebase/kwin/; revision=396376
2005-03-10 15:55:46 +00:00
Luboš Luňák
c025cb57ef Redo the fix for #95731 - when a window is manually raised above another
window, bring it up to that window's layer only if the layer is ActiveLayer
(i.e. fullscreen).
BUG: 100762

svn path=/trunk/kdebase/kwin/; revision=396099
2005-03-09 15:04:32 +00:00
Luboš Luňák
8357a882fb Fix #98478.
BUG: 98478

svn path=/trunk/kdebase/kwin/; revision=385877
2005-02-03 15:50:23 +00:00
Luboš Luňák
75455b98ae If a window is raised above some other window in the same window group
which is in a higher layer, make sure it stays above that window.
BUG: 95731

svn path=/trunk/kdebase/kwin/; revision=383308
2005-01-28 16:35:34 +00:00
Luboš Luňák
693069f7bb Avoid infinite loop if somebody decides to use window-specific settings
to force being kept both above and below.

svn path=/trunk/kdebase/kwin/; revision=377750
2005-01-12 12:30:34 +00:00
Luboš Luňák
6accc9a990 Don't keep dialogs above mainwindow if that mainwindow happens to be a dock.
Let's see what that does.
BUG: 63223

svn path=/trunk/kdebase/kwin/; revision=367418
2004-11-30 14:26:09 +00:00
Luboš Luňák
a0284f092c Do not confuse Laurent, and David, and perhaps even me :).
svn path=/trunk/kdebase/kwin/; revision=366081
2004-11-25 10:21:12 +00:00
Luboš Luňák
c048d2b539 Make dialogs an exception from keeping splashscreens on top of every other
window from the app (#93832). IMHO the real problem is in apps showing
modal dialogs while they still have a splascreen visible, but I've seen
this already enough times.
CCBUG: 93832

svn path=/trunk/kdebase/kwin/; revision=365833
2004-11-24 14:51:10 +00:00
Luboš Luňák
d421b5c7e7 I wonder if mplayer's default fullscreen type will be simply 'fullscreen'
instead of various hacks one day.
BUG: 92302

svn path=/trunk/kdebase/kwin/; revision=358750
2004-10-29 12:59:29 +00:00
Luboš Luňák
fe1bea9821 Let's see what happens if keep-above windows will be kept between
panels and normal windows, not above panels.
CCBUG:89813

svn path=/trunk/kdebase/kwin/; revision=356529
2004-10-21 15:26:44 +00:00
Luboš Luňák
a81ef3b07f If a fullscreen window has a dialog shown, still keep it on tops of other windows.
svn path=/trunk/kdebase/kwin/; revision=352347
2004-10-06 14:02:30 +00:00
Luboš Luňák
9f5920a134 Make sure topmenu space is even below fullscreens if there are no topmenus.
svn path=/trunk/kdebase/kwin/; revision=333180
2004-07-27 08:48:38 +00:00
Luboš Luňák
a35e5cad28 Inform decoration about keepabove/below changes.
CCMAIL: 84841-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=331722
2004-07-22 11:19:08 +00:00
Luboš Luňák
7a8eda06ff A somewhat hackish fix for #76026 (don't force non-modal dialogs above
their mainwindow).

svn path=/trunk/kdebase/kwin/; revision=329879
2004-07-16 11:19:47 +00:00
Luboš Luňák
6e44fc30b8 Autosave for window rules.
svn path=/trunk/kdebase/kwin/; revision=319665
2004-06-11 15:12:29 +00:00
Luboš Luňák
8e09a9bc22 I guess I could finally find some time to work on things for 3.3.
Initial work on kwin rules, i.e. #36377 , per window specific settings.
So far only desktop/above/below work, no GUI, and settings from the old
'Save window settings' are ignored for now.

svn path=/trunk/kdebase/kwin/; revision=315446
2004-05-28 13:51:11 +00:00
Luboš Luňák
6f3db8f9fe Topmenus have special layer, avoid stacking operations with them.
Fixes a small problem with #77341.

svn path=/trunk/kdebase/kwin/; revision=305888
2004-04-23 14:51:30 +00:00
Luboš Luňák
6d919922e2 Better implementation for ##36065.
svn path=/trunk/kdebase/kwin/; revision=305578
2004-04-22 12:30:57 +00:00
Luboš Luňák
f701524d4e Experimental support for #36065 (dragging from a window shouldn't raise it).
Needs a Qt patch.

svn path=/trunk/kdebase/kwin/; revision=304194
2004-04-16 10:23:42 +00:00
Luboš Luňák
1f628f4a5b Support for timestamp in the window restack request.
svn path=/trunk/kdebase/kwin/; revision=304187
2004-04-16 09:43:53 +00:00
Luboš Luňák
48a8d6ada0 Fix #74971 - never lower windows because their raise was refused by
focus stealing prevention.
CCMAIL: 74971-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=293152
2004-03-02 17:28:37 +00:00
Luboš Luňák
c2b1856bc8 Looks it wasn't that good idea to force active dialogs very high (#74372).
svn path=/trunk/kdebase/kwin/; revision=288472
2004-02-16 14:56:51 +00:00
Luboš Luňák
0c051481e9 Fix #74063 - if there's a restacking operation, cancel pending autoraise
for the window.

svn path=/trunk/kdebase/kwin/; revision=286801
2004-02-10 14:46:03 +00:00
Luboš Luňák
43d67778b8 Fix fullscreen with mouse focus policies, fix ##62208 and fix properly
##69238.

svn path=/trunk/kdebase/kwin/; revision=281049
2004-01-19 14:42:52 +00:00
Luboš Luňák
9807acc9d8 Bah, when searching stacking order in order to put a window below
the bottom-most window of the active application, search from bottom
and not from top. Fixes e.g. Shift+MMB on links in Konqy.

svn path=/trunk/kdebase/kwin/; revision=279960
2004-01-15 17:48:56 +00:00
Luboš Luňák
b74a977626 Fix #67032.
svn path=/trunk/kdebase/kwin/; revision=273899
2003-12-19 18:10:04 +00:00
Luboš Luňák
097e307b40 Oops, support window has to be always first in XRestackWindow(), everything
else is restacked relatively to it.

svn path=/trunk/kdebase/kwin/; revision=273327
2003-12-16 12:25:42 +00:00
Luboš Luňák
ab07ba1c70 Don't try to restack a window below itself.
CCMAIL:70004-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=272436
2003-12-11 09:48:37 +00:00
Luboš Luňák
2f948d2fc0 Remove obsolete todo.
svn path=/trunk/kdebase/kwin/; revision=272428
2003-12-11 09:08:43 +00:00
Luboš Luňák
e7d3ffaceb Fix the loop described in #69238 - don't raise special windows if they
become active if autoraise is turned off. It's possible this only fixes
a symptom instead of the problem, but oh well.

svn path=/trunk/kdebase/kwin/; revision=271137
2003-12-04 12:23:49 +00:00
Luboš Luňák
6d7e93267d If an application is refused to be raised, but it's above the active client
for some reason, don't restack it below the active one as a result of its
requrest to be raised.

svn path=/trunk/kdebase/kwin/; revision=270832
2003-12-02 17:54:42 +00:00
Luboš Luňák
965a44962e Don't keep group transients above topmenus.
svn path=/trunk/kdebase/kwin/; revision=269885
2003-11-27 14:05:42 +00:00
Luboš Luňák
b3c1af874a Temporarily comment out Q_ASSERT's about stacking order, as they're quite
harmless, but everybody blames them in their bugreports.

svn path=/trunk/kdebase/kwin/; revision=268335
2003-11-20 09:05:32 +00:00
Luboš Luňák
290d7207e6 Make sure the unconstrained_stacking_order list contains all clients.
First part for #68553.

svn path=/trunk/kdebase/kwin/; revision=268141
2003-11-19 10:42:23 +00:00
Luboš Luňák
037e47326c Fix the strange stacking described in #68071.
svn path=/trunk/kdebase/kwin/; revision=266823
2003-11-13 15:34:04 +00:00
Luboš Luňák
1d71c9839b Reserve space for topmenus, so there's no flicker, and the space is taken
even with no topmenu shown. Support topmenus only when enabled in kdeglobals.

svn path=/trunk/kdebase/kwin/; revision=266531
2003-11-12 09:47:13 +00:00
Luboš Luňák
d45a853dd4 Fixes related to shown shaded windows.
svn path=/trunk/kdebase/kwin/; revision=257726
2003-10-10 13:00:01 +00:00
Luboš Luňák
90281645bf As KPassivePopup shows, things can be annoying even if they don't steal
the focus and just are there. Therefore, as a part of focus stealing
prevention, let's also block raising of windows. Also added special
request for Kicker, as taskbar requests for raising should be obeyed.
(Not that this does anything to KPassivePopup.)

svn path=/trunk/kdebase/kicker/taskmanager/; revision=255070
2003-09-30 12:49:23 +00:00
Luboš Luňák
19c204b429 A feeble attempt to fix #63223 that does not really work and is disabled.
svn path=/trunk/kdebase/kwin/; revision=253843
2003-09-25 12:17:35 +00:00
Luboš Luňák
0a84495ba9 Disable debug output for now.
svn path=/trunk/kdebase/kwin/; revision=253820
2003-09-25 10:47:36 +00:00
Luboš Luňák
10f405c73d Merging kwin core from kwin_iii back to HEAD.
svn path=/trunk/kdebase/kwin/; revision=251608
2003-09-16 19:28:03 +00:00