Commit graph

102 commits

Author SHA1 Message Date
Luboš Luňák
094befa1de Make it possible to have several rules matching one window.
svn path=/trunk/kdebase/kwin/; revision=321637
2004-06-18 08:57:42 +00:00
Luboš Luňák
5085b40285 Fix activation of window that was active at session saving time.
svn path=/trunk/kdebase/kwin/; revision=319667
2004-06-11 15:13:08 +00:00
Luboš Luňák
7e35926c37 Make no focus stealing prevention really do nothing, and change
the rule for it to specify new level instead of adjustment.

svn path=/trunk/kdebase/kwin/; revision=319664
2004-06-11 15:12:07 +00:00
Luboš Luňák
0f972d789f Instead of snatching the window temporarily from kwin simply tell kwin
what to do with it. I've never liked this hack much, and this should
also take care of #49375, and should make sure kstart options will
have higher priority than settings configured in kwin.

svn path=/trunk/kdebase/kwin/; revision=319662
2004-06-11 15:10:09 +00:00
Luboš Luňák
319f8bf67a Read modality flag before handling groups (for #82648).
svn path=/trunk/kdebase/kwin/; revision=317399
2004-06-03 16:16:27 +00:00
Luboš Luňák
03bdeb94b0 KWin rules setting maximizevert, maximizehoriz, minimize, shade, skiptaskbar,
skippager, fullscreen, noborder.

svn path=/trunk/kdebase/kwin/; revision=317377
2004-06-03 14:09:45 +00:00
Luboš Luňák
7eadd6463f KWin rules - position and size.
Forcing position doesn't work yet, and forcing size needs more testing.

svn path=/trunk/kdebase/kwin/; revision=316414
2004-05-31 14:25:25 +00:00
Luboš Luňák
a114e9acc3 KWin rules - override minsize/maxsize.
svn path=/trunk/kdebase/kwin/; revision=316413
2004-05-31 14:15:33 +00:00
Luboš Luňák
ab8ff46877 Forcing of a specific window type.
svn path=/trunk/kdebase/kwin/; revision=315469
2004-05-28 15:04:01 +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
d551f871fb Prefer the newer way of getting startup timestamp from the ASN startup id.
svn path=/trunk/kdebase/kwin/; revision=314706
2004-05-26 09:24:14 +00:00
Xavier Izard
ab428d9ab0 Patch for xinerama mode to allow fullscreens both on one or several screen(s)
svn path=/trunk/kdebase/kwin/; revision=310202
2004-05-10 23:22:27 +00:00
Luboš Luňák
854e9cc05a With windows that have are listed for the focus stealing prevention
workaround, don't make their user timestamp newer than the active window's
one (unless a real user activity takes place in them).
As they are belong to the active application and just fail to say so,
this makes sure they won't prevent that application from getting focus
by having newer timestamp. E.g. Alt+F2, typing URL, kio_uiserver dialog
shows (has workaround), SSL certificate dialog shows (shown by kdesktop),
and it wouldn't get focus, because kio_uiserver's timestamp would be later.

svn path=/trunk/kdebase/kwin/; revision=298357
2004-03-24 19:05:49 +00:00
Luboš Luňák
108d73625a A workaround for #70943 until xinerama placement works properly with
windows that request a specific position.

svn path=/trunk/kdebase/kwin/; revision=297855
2004-03-22 16:39:58 +00:00
Luboš Luňák
8a9738e02f This looks strange, whatever this is supposed to do. And if it's
"compile fixes for FreeBSD", then I'm a kangaroo.

svn path=/trunk/kdebase/kwin/; revision=295165
2004-03-11 12:59:55 +00:00
Luboš Luňák
648fb3ed22 Avoid minimize animation when a newly managed window requests to be
initially minimized.

svn path=/trunk/kdebase/kwin/; revision=292900
2004-03-01 18:00:07 +00:00
Luboš Luňák
aee628e008 Fix #76408 - do range checking on _NET_WM_DESKTOP values.
CCMAIL: 76408-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=292889
2004-03-01 17:20:19 +00:00
Luboš Luňák
96cc95943a Fix #72074 - when trying to close a window, update user timestamp
on the whole group, so that the possible 'close?' dialog has a recent
timestamp even if the window about to be closed wasn't active.

svn path=/trunk/kdebase/kwin/; revision=291859
2004-02-27 13:35:09 +00:00
Luboš Luňák
d2e94b988e Watch properties also on the group leader window, for now only
the startup notification property, but it could be extended
to read icons etc. as well if needed (ICCCM 4.1.2.7).

svn path=/trunk/kdebase/kwin/; revision=291218
2004-02-25 09:51:47 +00:00
Luboš Luňák
3abd0ebdf0 Oops. Qt3.2 used to set resource class in WM_CLASS all lowercase, but
Qt3.3 capitalizes it (part of my own patch IIRC, hehe :-/), so all
the workarounds for specific apps no longer work -> force resource class
to be always lowercase.

svn path=/trunk/kdebase/kwin/; revision=290521
2004-02-23 12:47:28 +00:00
Peter Rockai
2eb784cf35 Support for NETWM partial struts (_NET_WM_STRUT_PARTIAL, we call them
extended here, ask Lubos why :>). This patch also includes workaround
for kicker (in its current state, without extended-strut support), so it
works in xinerama setups as expected. Thanks go to Lubos for help with
implementation and for review.

svn path=/trunk/kdebase/kwin/; revision=288758
2004-02-17 17:34:00 +00:00
Luboš Luňák
ef5340d6b9 Don't force windows to be inside workarea if their geometry comes
from session restoration or if the window is already mapped.
CCMAIL: 74057-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=286752
2004-02-10 11:45:00 +00:00
Luboš Luňák
42e26ff608 Use WM_CLIENT_LEADER for grouping if a window is group transient
but has no group set. This should take care of comment #20 in #69519.

svn path=/trunk/kdebase/kwin/; revision=285366
2004-02-05 18:16:53 +00:00
Luboš Luňák
e519c91eea Disable xinerama placement when session restoring.
svn path=/trunk/kdebase/kwin/; revision=281487
2004-01-21 08:46:32 +00:00
Luboš Luňák
e5d6fb447d Fix non-NETWM fullscreen applications.
CCMAIL:71825-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=281054
2004-01-19 15:07:14 +00:00
Luboš Luňák
6dea573226 Ignore special windows for placement/desktop, breaks with standalone
menubar.

svn path=/trunk/kdebase/kwin/; revision=279905
2004-01-15 14:30:02 +00:00
Luboš Luňák
24cae23c66 Fix Xinerama placement. Thanks to Malte S. Stretz for help with debugging
and testing.

svn path=/trunk/kdebase/kwin/; revision=278437
2004-01-10 15:13:23 +00:00
Luboš Luňák
b2b86e00e9 Remove duplicated and scary code.
svn path=/trunk/kdebase/kwin/; revision=273128
2003-12-15 13:36:27 +00:00
Fredrik Höglund
0f1aecf06b Make sure that the right visual is used for the frame when embedding
an ARGB window.

Reviewed by Seli and Keith Packard.

svn path=/trunk/kdebase/kwin/; revision=272507
2003-12-11 17:41:47 +00:00
Luboš Luňák
2488a7c674 Add some stuff that should be most probably done but I'm afraid to do
it now in the freeze.

svn path=/trunk/kdebase/kwin/; revision=272282
2003-12-10 11:28:31 +00:00
Luboš Luňák
0ba12a0837 Perform whole new window managing with X server grab, in order to prevent
"smart" apps from doing stupid things before they get MapNotify.
This avoids the recent Java+OracleInstaller strange problem too.
The patch may look huge, but it's only adding two KWin wrappers
for X(Un)GrabServer() and uncommenting the calls in Client::manage().

svn path=/trunk/kdebase/kwin/; revision=271152
2003-12-04 13:54:10 +00:00
Luboš Luňák
897e67f79a Partially revert the recent xinerama commit - !isMapped == useCursorPos
was always true, no need for another argument.

svn path=/trunk/kdebase/kwin/; revision=269308
2003-11-24 15:05:50 +00:00
George Staikos
875fc62836 Reimplement Xinerama placement. Patch from Balaji Ramani.
CCMAIL: balaji@yablibli.com

svn path=/trunk/kdebase/kwin/; revision=268719
2003-11-21 23:00:38 +00:00
Luboš Luňák
064f1538c8 Hmm, ok, I give up. Check only for IconicState in initial mapping state,
treat all the other strange states as NormalState. Fixes WMaker applets.
CCMAIL: 68069-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=268438
2003-11-20 16:25:52 +00:00
Luboš Luňák
d2c1750fa9 Fix #67072 and all its dupes.
svn path=/trunk/kdebase/kwin/; revision=264456
2003-11-04 10:53:04 +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
7f30475e40 Read initial states of windows.
svn path=/trunk/kdebase/kwin/; revision=257725
2003-10-10 12:59:40 +00:00
Luboš Luňák
34fa4a4399 Cleanup of Xinerama handling. I don't claim I actually fixed something,
but at least now the code doesn't look like uncommented random something.
And who knows, maybe I even fixed it ;).

CCMAIL: staikos@kde.org

What the hell does "Show unmanaged windows on:" mean in the kcm dialog?

svn path=/trunk/kdebase/kwin/; revision=257723
2003-10-10 12:58:38 +00:00
Luboš Luňák
b95ee3bbb1 Obey motif hints only from apps that don't support the NETWM spec, as
those should set window type, and should not be stupid.
Actually the reason for this change is OO setting the no-resize Motif hint,
and requesting that the WM fullscreens the window, which, guess what, means
resizing the window, but this makes sense in general.

svn path=/trunk/kdebase/kwin/; revision=257177
2003-10-08 09:33:15 +00:00
Luboš Luňák
ee848958b3 Make a difference between fake session data ('save window settings')
and real SM session data.

svn path=/trunk/kdebase/kwin/; revision=256749
2003-10-06 14:19:06 +00:00
Luboš Luňák
cb51d8ebd6 Another minicli focus stealing prevention fix, this time for David.
svn path=/trunk/kdebase/kwin/; revision=255682
2003-10-02 14:38:17 +00:00
Luboš Luňák
52b2452085 Catch all events related to clients, even if they're not e->xany.window .
svn path=/trunk/kdebase/kwin/; revision=255661
2003-10-02 12:33:51 +00:00
Luboš Luňák
08bb12efcf If a windows tries to grow larger than the workarea, don't allow it to
do so, if size constraints allow it.
If resizing a window would make it get partially out of workarea,
move it so that it stays in workarea.

svn path=/trunk/kdebase/kwin/; revision=255616
2003-10-02 08:57:17 +00:00
Luboš Luňák
3e1df92066 Try to place dialogs on their mainwindow. Except for non-NETWM apps
where the it's transient therefore it's a dialog assumption is not true
often enough for this to be annoying.

svn path=/trunk/kdebase/kwin/; revision=255614
2003-10-02 08:56:44 +00:00
Luboš Luňák
6f272da774 Revert special dialog placement policies. I don't think I need to go
that far with overconfigurability.

svn path=/trunk/kdebase/kwin/; revision=255440
2003-10-01 16:51:19 +00:00
Luboš Luňák
74536fc72c Oops, mainClients() returns a temporary (just like if its comment didn't
say so ...). Fixes #65297.

svn path=/trunk/kdebase/kwin/; revision=255416
2003-10-01 15:46:23 +00:00
Luboš Luňák
bd4789e32b Looks like I got window gravities working correctly also for configure requests.
CCMAIL: 64981-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=255356
2003-10-01 12:10:22 +00:00
Luboš Luňák
dcb2349a19 Fix #64769.
CCMAIL:64769-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=253884
2003-09-25 15:36:10 +00:00
Luboš Luňák
124dd73f49 This should fix #64869 - make sure the user timestamp is valid at the end
of manage().
CCMAIL: 64869-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=253667
2003-09-24 18:31:30 +00:00
Luboš Luňák
d8406cf439 Cleanup of Motif hints. Ignore hints forbidding minimize/maximize.
Fix using isResizable()/isMovable() instead of only checking the Motif hint.

svn path=/trunk/kdebase/kwin/; revision=252351
2003-09-19 11:14:16 +00:00
Luboš Luňák
d5dd99ba82 Ensure that KDecoration::width() etc. and KDecoration::widget()->width are
in sync.

svn path=/trunk/kdebase/kwin/; revision=252350
2003-09-19 11:13:24 +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