Commit graph

557 commits

Author SHA1 Message Date
Luboš Luňák
c8088bb731 When releasing a client, don't accidentally show it again.
svn path=/trunk/KDE/kdebase/kwin/; revision=412379
2005-05-11 14:46:23 +00:00
Luboš Luňák
ced5ab580a Die, window type override, die! Since nobody really knows what this window
type means anyway, let's simply consider it to be a legacy way of saying "noborder"
and nothing more.


svn path=/trunk/KDE/kdebase/kwin/; revision=412372
2005-05-11 14:20:54 +00:00
Luboš Luňák
fc90a04635 Make it possible to do all kinds of strange things when mousewheeling
the titlebar or Alt+mousewheeling the window.
FEATURE:44318
FEATURE:66519
FEATURE:76188


svn path=/trunk/KDE/kdebase/kwin/; revision=410058
2005-05-06 15:20:49 +00:00
Luboš Luňák
64ab03402b When removing window, set it first to withdrawn state, then start cleaning
it up.
CCBUG: 103301

svn path=/trunk/kdebase/kwin/; revision=408336
2005-04-28 09:47:57 +00:00
Luboš Luňák
e1fb4aa2b6 Move all code responsible for showing/hiding windows, setting mapping
state, NET::Hidden etc. to one function: Client::updateVisibility().

svn path=/trunk/kdebase/kwin/; revision=405104
2005-04-12 17:22:47 +00:00
Luboš Luňák
65c8167754 64bit fixes for translucency.
svn path=/trunk/kdebase/kwin/; revision=403116
2005-04-04 13:11:53 +00:00
Thomas Lübking
cd5ac45b77 added support for applying translucency on the titlebar or the content (not really: anything but the titlebar) only
svn path=/trunk/kdebase/kwin/; revision=387795
2005-02-09 18:31:35 +00:00
Luboš Luňák
bdd2665a29 Something I forgot for #44268 - show the shortcut in the titlebar.
svn path=/trunk/kdebase/kwin/; revision=387104
2005-02-07 15:17:26 +00:00
Luboš Luňák
240fc84c05 Avoid unnecessary roundtrips finding out WM_CLIENT_MACHINE when setting
caption.

svn path=/trunk/kdebase/kwin/; revision=387096
2005-02-07 14:35:53 +00:00
Thomas Lübking
05eda26865 added support for unshadowed moving windows, slight changes to updates on shapable windows
svn path=/trunk/kdebase/kwin/; revision=383513
2005-01-28 23:28:11 +00:00
Luboš Luňák
6dd5d6b1f7 XChangeProperty needs long type for 32bit data, especially on 64bit platforms.
Also silence a couple of warnings.
CCMAIL: Thomas Lübking <thomas.luebking@web.de>

svn path=/trunk/kdebase/kwin/; revision=382862
2005-01-27 09:58:34 +00:00
Thomas Lübking
270a071454 [kompmgr] removed /kompmgr/ shapable tag if only the deco is shaped
svn path=/trunk/kdebase/kwin/; revision=380839
2005-01-21 16:19:10 +00:00
Thomas Lübking
8ad47028f6 Added composite (translucency/shadows) support
svn path=/trunk/kdebase/kwin/; revision=378790
2005-01-15 17:07:48 +00:00
Luboš Luňák
bb9b3a94c6 Shading fixes. This should also take care of #91615.
BUG: 91615

svn path=/trunk/kdebase/kwin/; revision=367240
2004-11-29 18:46:04 +00:00
Luboš Luňák
9a5a1c5d95 Fix shading: isShade() returns the actual state of the window, and isSetShade()
returns the state set by the user - these two may differ e.g. while hover-unshaded.
Therefore titlebar buttons should use isSetShade(), otherwise they become
a bit useless with hover-unshading.
Also fix updating the button state - the styles duplicate way too much code,
and if one of them has a bug, most of them definitely have it as well. Some
of the code should probably move to the decoration lib :-/ .

svn path=/trunk/kdebase/kwin/; revision=366147
2004-11-25 16:08:46 +00:00
Luboš Luňák
ca061ffb57 If a window is resized manually to geometry equal to workspace size,
make it automatically also maximized.

svn path=/trunk/kdebase/kwin/; revision=362476
2004-11-12 17:13:16 +00:00
George Staikos
2ce16d70ba On second thought, titlebars like this are silly:
"user@host:~@host"

make it:

"user@host:~ <@host>"

svn path=/trunk/kdebase/kwin/; revision=361700
2004-11-09 13:45:21 +00:00
George Staikos
c75eb7297f use @ instead of <> for the hostname, approved by Lubos (Thanks for the feature!)
svn path=/trunk/kdebase/kwin/; revision=361688
2004-11-09 12:28:58 +00:00
Luboš Luňák
d40ba7b252 Show hostname in the title if it's different from KWin's hostname.
FEATURE:40969

svn path=/trunk/kdebase/kwin/; revision=361687
2004-11-09 12:17:18 +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
79d5c97345 Propertly remove _NET_WM_VISIBLE_NAME.
CCMAIL: 87475-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=340847
2004-08-25 11:49:30 +00:00
Luboš Luňák
8033d09cce Dynamically detect changes of Motif hints instead of just reading
them once initially. At least MPlayer changes them while mapped.

svn path=/trunk/kdebase/kwin/; revision=333174
2004-07-27 08:35:51 +00:00
Luboš Luňák
e49d03c46f Even noborder windows may get resizing cursor, e.g. with Alt+RMB.
svn path=/trunk/kdebase/kwin/; revision=324586
2004-06-29 11:08:14 +00:00
Luboš Luňák
6060ceb9eb Keep window role as lowercase, just like wmclass, for rules matching.
svn path=/trunk/kdebase/kwin/; revision=324251
2004-06-28 13:47:02 +00:00
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
6e44fc30b8 Autosave for window rules.
svn path=/trunk/kdebase/kwin/; revision=319665
2004-06-11 15:12:29 +00:00
Luboš Luňák
33b11f1f07 Add a hidden option for the ping timeout before the dialog offering
killing the app appears (for #69211).

svn path=/trunk/kdebase/kwin/; revision=319659
2004-06-11 15:01:18 +00:00
Luboš Luňák
6e34bc5e8a KWin rules for making windows noncloseable, and for changing moveresize
mode.

svn path=/trunk/kdebase/kwin/; revision=318994
2004-06-09 08:33:53 +00:00
Luboš Luňák
2d336eb6ac KWin rule for accepting/not accepting input focus.
svn path=/trunk/kdebase/kwin/; revision=318992
2004-06-09 08:30:06 +00:00
Luboš Luňák
12ecab6ff3 Always allow minimizing of a window if its mainwindow is minimized.
Fixes #81141.

svn path=/trunk/kdebase/kwin/; revision=318491
2004-06-07 14:58:48 +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
a0384cdd8a KWin rules - matching on window type.
svn path=/trunk/kdebase/kwin/; revision=316407
2004-05-31 14:04:49 +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
c2fa4013a2 WM_CLASS can be matched whole (class+name) or only class
Added client machine to matched properties.

svn path=/trunk/kdebase/kwin/; revision=315449
2004-05-28 13:54:20 +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
80624445c9 addTransient() may temporary cause loops, so delay calling of findModal()
until they're broken

svn path=/trunk/kdebase/kwin/; revision=315405
2004-05-28 11:33:36 +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
88e699aea2 Fix #66868.
svn path=/trunk/kdebase/kwin/; revision=305173
2004-04-20 15:19:47 +00:00
Luboš Luňák
0b012b18f3 Show sizeAllCursor also when moving a shaded window.
svn path=/trunk/kdebase/kwin/; revision=304932
2004-04-19 14:55:29 +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
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
ff081c36a0 Fix #76394,
svn path=/trunk/kdebase/kwin/; revision=293762
2004-03-05 14:22:11 +00:00
Luboš Luňák
e329c3d872 Use a separate InputOnly window covering whole screen because it
reportedly improves move/resize performance on some systems
for some reason which I fail to see, but oh well.
(http://lists.kde.org/?t=107302193400001&r=1&w=2)

svn path=/trunk/kdebase/kwin/; revision=293755
2004-03-05 13:39:27 +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
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
Luboš Luňák
ea87eea812 On auto unshading, don't keep focus on the unshaded window, revert
focus to the previously active window.
CCMAIL: 75302-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=288483
2004-02-16 15:19:39 +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
81a1feae6d Finally the proper way of doing r1.395.
svn path=/trunk/kdebase/kwin/; revision=286457
2004-02-09 13:33:57 +00:00
Luboš Luňák
0a92241212 Don't try to find unique window name for special windows. It looks stupid
to have main icemon window with title 'icemon <2>' just because 'icemon'
was taken by topmenu.

svn path=/trunk/kdebase/kwin/; revision=283828
2004-01-30 15:24:46 +00:00
Luboš Luňák
3f46071ff4 The mysterious window type Override strikes back, this time breaking
stacking order for Qt-3.2.x fullscreen windows not patched to use
NETWM fullscreens. Tested by Laurent Montel.

svn path=/trunk/kdebase/kwin/; revision=281817
2004-01-22 18:10:52 +00:00
Luboš Luňák
0a65d69e80 Avoid the warning when it's the same client activated twice using
the same timestamp (e.g. when clicking on the kgpg systray icon).

svn path=/trunk/kdebase/kwin/; revision=279888
2004-01-15 12:18:27 +00:00
Luboš Luňák
c1d1b6289f Make sure there aren't two windows given focus with the same X timestamp,
because if one timestamp is reused for activating window A and then
immediatelly window B, and A will want to set focus to one
of its subwindows after receiving WM_TAKE_FOCUS, and will lag a bit,
it will actually set the focus after B, and will win. Fixes #71704.

If somebody still gets the warning, I'd be interested in the backtrace.

svn path=/trunk/kdebase/kwin/; revision=278208
2004-01-09 17:35:21 +00:00
Luboš Luňák
2d272e0a87 In r1.395, I forgot to unmap the wrapper window too. As it has no background
set, it remembers the contents of the unmapped client window, therefore
the ugly effect actually stayed.

svn path=/trunk/kdebase/kwin/; revision=273891
2003-12-19 17:05:50 +00:00
Luboš Luňák
569224d117 Replace the temporary MousePosition enum naming with something that
doesn't look so silly and doesn't conflict with Qt.

svn path=/trunk/kdebase/kwin/; revision=273144
2003-12-15 15:10:17 +00:00
Luboš Luňák
c26c55787f Remove some obsolete comments.
svn path=/trunk/kdebase/kwin/; revision=273143
2003-12-15 14:44:17 +00:00
Luboš Luňák
55f1a65613 More debug functions.
svn path=/trunk/kdebase/kwin/; revision=272429
2003-12-11 09:09:05 +00:00
Luboš Luňák
af9c3b8e85 Fix #66065 - OpenOffice.org claims that its utility windows are dialogs
-> it's better to treat no window from OO.org as dialog :-/.

svn path=/trunk/kdebase/kwin/; revision=272143
2003-12-09 13:58:51 +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
1a852fe8dc When unmapping, unmap from outside(frame->wrapper->window), this prevents
frame from getting EnterNotify after unmapping the window.

svn path=/trunk/kdebase/kwin/; revision=270953
2003-12-03 12:24:56 +00:00
Luboš Luňák
358e648501 When releasing a window, hide it before removing decoration, otherwise
it would be moved, causing ugly visual effect.

svn path=/trunk/kdebase/kwin/; revision=269901
2003-11-27 14:54:16 +00:00
Luboš Luňák
693d7d77c1 People have strange ideas ... filter out unprintable characters from window
captions.
CCMAIL: 68882-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=269522
2003-11-25 14:55:15 +00:00
Luboš Luňák
2c3f9c4069 Some attempts to fix aspect ratios breaking resizing.
When resizing windows manually (Client::handleMoveResize()) still doesn't work.

svn path=/trunk/kdebase/kwin/; revision=269296
2003-11-24 14:26:11 +00:00
Luboš Luňák
2553476f53 Don't require both mouse and keyboard grab for move/resize,
one of them is enough. Allows resising of the configure shortcut
dialog.

svn path=/trunk/kdebase/kwin/; revision=269294
2003-11-24 14:25:33 +00:00
Luboš Luňák
528b0ed6d7 Fix #65279 - make sure windows hidden by apps are really hidden.
The problem was visible even with { widget.show(); widget.hide(); }.

svn path=/trunk/kdebase/kwin/; revision=268645
2003-11-21 16:46:57 +00:00
Luboš Luňák
e243bdd43c Open Konqueror at kde.org, open another one at kde.org, close the second
one, open Konqueror at dot.kde.org -> it would still have the old caption
in taskbar due to the old _NET_WM_VISIBLE_NAME property value -> fixed.

svn path=/trunk/kdebase/kwin/; revision=266857
2003-11-13 17:51:11 +00:00
Luboš Luňák
b878ad84d9 Make sure that when calling Workspace::clientHidden(), the client is really
hidden, otherwise it could attempt to restore the focus back to this client.
CCMAIL: 66926-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=263383
2003-10-31 09:45:14 +00:00
Luboš Luňák
b884178c99 KDecoration::unobscuredRegion(), for B2 titlebar unhiding.
svn path=/trunk/kdebase/kwin/; revision=262494
2003-10-27 16:28:53 +00:00
Luboš Luňák
43c71a8c72 No delayed deleting of decorations. They'll have to check themselves
instead, using KDecorationFactory::exists(). Fixes #66205, and it wasn't
really that good idea anyway.

svn path=/trunk/kdebase/kwin/; revision=260988
2003-10-22 08:26:09 +00:00
Luboš Luňák
5af892be88 Avoid infinite loop with empty caption.
CCMAIL: jowenn@kde.org
This should fix your problem, can you try again?

svn path=/trunk/kdebase/kwin/; revision=259094
2003-10-15 09:48:22 +00:00
Luboš Luňák
8b5159bb1a Warn when somebody plays too much, turns off a border and doesn't know how
to put it back *sigh*.

CCMAIL: 64938-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=258583
2003-10-13 16:22:39 +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
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
2981785b56 Support for UrgencyHint - such windows are demanding attention when inactive.
svn path=/trunk/kdebase/kwin/; revision=257691
2003-10-10 11:23:42 +00:00
Luboš Luňák
e85dae70f5 Don't allow turning off the border while shaded.
svn path=/trunk/kdebase/kwin/; revision=256709
2003-10-06 11:31:43 +00:00
George Staikos
a98beeee30 KWhatsBroken tells me that redmond is broken. This appears to be what the
other clients do

svn path=/trunk/kdebase/kwin/; revision=256310
2003-10-04 21:27:23 +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
121c613228 Gravitation fixes, visible with repeated kwin --replace.
svn path=/trunk/kdebase/kwin/; revision=255615
2003-10-02 08:56:59 +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
6b3d8e134a Implemented _NET_MOVERESIZE_WINDOW.
Moved KWin code related to configure request to geometry.cpp to a common function.

svn path=/trunk/kdebase/kwin/; revision=255355
2003-10-01 12:08:53 +00:00
Luboš Luňák
ce37c50587 Small cleanups.
svn path=/trunk/kdebase/kwin/; revision=255049
2003-09-30 10:55:06 +00:00
Luboš Luňák
a406bee353 Let decoration get show/hide events when showing/hiding the frame.
svn path=/trunk/kdebase/kwin/; revision=254814
2003-09-29 11:21:11 +00:00
Luboš Luňák
4cd961af56 When the original request causing removal of a decoration comes
from the decoration, use delayed delete.

svn path=/trunk/kdebase/kwin/; revision=254813
2003-09-29 11:20:32 +00:00
Luboš Luňák
e82bcc09ac Move Client::keyPressEvent() to the source file where it belongs.
svn path=/trunk/kdebase/kwin/; revision=254809
2003-09-29 11:19:39 +00:00
Luboš Luňák
2fdf81d4c6 Don't resize frame to the full size when shaded.
svn path=/trunk/kdebase/kwin/; revision=253542
2003-09-24 11:01:14 +00:00
Luboš Luňák
1e61c406f9 Temporary fix for #64516.
svn path=/trunk/kdebase/kwin/; revision=252394
2003-09-19 14:53:39 +00:00
Luboš Luňák
c433d78a51 Don't use the iconic name when shaded.
svn path=/trunk/kdebase/kwin/; revision=252354
2003-09-19 11:16:40 +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
a8b5c7365c Keep workarea edge distance when turning on/off decoration.
Reduce the maximum distance for keeping it at the edge to 1/10 of workarea size.
Update edge distance when changing geometry.

svn path=/trunk/kdebase/kwin/; revision=252349
2003-09-19 11:13:04 +00:00
Luboš Luňák
9fac9d2a43 Fixes for mousePosition().
Since Qt propagates mouse events up the widget hierarchy, it's better
to filter out Qt events rather than X events for the decoration.

svn path=/trunk/kdebase/kwin/; revision=252346
2003-09-19 11:11:07 +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
Luboš Luňák
71d30b5813 At least very basic support for _NET_WM_WINDOW_TYPE_SPLASHSCREEN also in HEAD.
svn path=/trunk/kdebase/kwin/; revision=239649
2003-07-28 13:26:08 +00:00
Dirk Mueller
6bbbe69c0e unbreak compilation (gcc 3.4+)
svn path=/trunk/kdebase/kcontrol/; revision=239225
2003-07-26 10:41:28 +00:00
Marc Mutz
ca09935838 gethostname can fail :-)
svn path=/trunk/kdebase/kdm/; revision=239075
2003-07-25 12:35:58 +00:00
Luboš Luňák
caf31eb936 Fix for #54495 in HEAD too.
svn path=/trunk/kdebase/kwin/; revision=231991
2003-06-17 17:23:43 +00:00
Luboš Luňák
6dc2810d6a Support NET::DemandsAttention in HEAD too.
svn path=/trunk/kdebase/kwin/; revision=231921
2003-06-17 09:24:14 +00:00
Chris Lee
41f35632d2 HEAD version of my kwin_iii patch that I just committed.
This fixes the mouse cursor when the window is moving.

-clee

svn path=/trunk/kdebase/kwin/; revision=231503
2003-06-15 07:28:38 +00:00
Karol Szwed
cf8e983d87 Do not use saveunder in opaque modes as it slows down
moving/resizing significantly.
(kwin_iii port later)

svn path=/trunk/kdebase/kwin/; revision=231502
2003-06-15 07:19:05 +00:00
Luboš Luňák
6b04039715 r1.344.2.50 from kwin_iii.
svn path=/trunk/kdebase/kwin/; revision=227049
2003-05-21 12:19:50 +00:00
Luboš Luňák
fe48c6cdc2 #57990 too.
svn path=/trunk/kdebase/kwin/; revision=225864
2003-05-14 17:10:50 +00:00
Luboš Luňák
9cb2c00de3 Cleanup of KWin::Info -> KWin::WindowInfo.
Correct detection of minimized windows for KWin HEAD and kwin_iii.
Correct detection of window type even if the list includes unsupported ones.

svn path=/trunk/kdebase/kwin/; revision=219298
2003-04-09 14:20:55 +00:00
Luboš Luňák
52b0c311c5 #54730 too.
svn path=/trunk/kdebase/kwin/; revision=215050
2003-03-19 15:43:41 +00:00
Luboš Luňák
06bc34faab #48836 too.
svn path=/trunk/kdebase/kwin/; revision=214849
2003-03-18 18:24:32 +00:00
Luboš Luňák
bf73b30a62 Another guess at what NET::Override is actually supposed to mean.
CCMAIL: 55515-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=213599
2003-03-13 13:06:57 +00:00
Luboš Luňák
555b5c10b8 #55797
svn path=/trunk/kdebase/kwin/; revision=213364
2003-03-12 14:43:06 +00:00
Luboš Luňák
bc4d2d507a HEAD needs one more fix for #55510.
svn path=/trunk/kdebase/kwin/; revision=212846
2003-03-10 17:36:05 +00:00
Luboš Luňák
25ccdb783f #55510
svn path=/trunk/kdebase/kwin/; revision=211733
2003-03-06 12:12:02 +00:00
Luboš Luňák
1f87831837 XRANDR support in HEAD too, so that curious people don't have to use
kwin_iii. It's still #ifdef-ed out by XRANDR_SUPPORT, just like elsewhere
in kdelibs/kdebase.

svn path=/trunk/kdebase/kwin/; revision=211041
2003-03-03 14:03:56 +00:00
Luboš Luňák
325e45ee26 With 'konqueror --preload', create a KonqMainWindow too.
And KWin related fixes - hack for _KDE_NET_USER_TIME, and don't display
topmenus for non-active windows.

svn path=/trunk/kdebase/kwin/; revision=210251
2003-02-28 14:16:31 +00:00
Luboš Luňák
b511a929bc Fix #54190.
svn path=/trunk/kdebase/kwin/; revision=206821
2003-02-14 08:29:47 +00:00
Luboš Luňák
c72c64e4f3 Only one place where WM_TRANSIENT_FOR is read + fix a bug in mainClient().
svn path=/trunk/kdebase/kwin/; revision=198740
2003-01-10 12:39:27 +00:00
Karol Szwed
4577f0f474 Add a checkbox to enable/disable the geometry tip, making it _OFF_ by default,
as was planned. Also, it should never crash now.

Hopefully this will make pmax a bit happier ;-)

svn path=/trunk/kdebase/kwin/; revision=198711
2003-01-10 10:54:57 +00:00
George Staikos
b35e581f69 This GeometryTip is not acceptable.
- Make it "opt-in" configurable, not default to on
   - I have had instances of the widget being stuck on the screen and eventually
     causing a kwin crash
   - It conflicts nicely with konsole's resize widget

svn path=/trunk/kdebase/kwin/; revision=198652
2003-01-10 04:03:57 +00:00
Luboš Luňák
09e06d30c1 Try to have the grab for clickraise only when necessary (VisibilityNotify
based), and clean up the grab handling a bit.

svn path=/trunk/kdebase/kwin/; revision=198017
2003-01-07 14:26:58 +00:00
Luboš Luňák
eca86b5a53 Partially revert r1.333 and generate suitable maximize restore geometry
and position again.

svn path=/trunk/kdebase/kwin/; revision=198015
2003-01-07 14:23:37 +00:00
Karol Szwed
235b534b26 Add a window geometry tip when users move/resize a window. Currently it is
enabled by default, but will be made configurable soon. There is a known
issue with an incorrect geometry shown with konsole, but that's its fault,
and I'll get to that shortly (xterm does the right thing).

Disclaimer:
If it jams - force it. If it breaks, it probably needed replacing anyway.

svn path=/trunk/kdebase/kwin/; revision=197992
2003-01-07 12:42:32 +00:00
Luboš Luňák
a541e25721 Remove the state flags from the window on withdraw too, and do so only
when really withdrawing the window.

svn path=/trunk/kdebase/kwin/; revision=197778
2003-01-06 13:07:30 +00:00
Luboš Luňák
a3bd5ae078 Try to fix #32969 by keeping the mouse grab even for active windows. People
not wanting this can disable click raise. Let's see if it breaks something.
(Related to this: kwin/client.cpp r1.309,r1.308,r1.305,r1.304,r1.303.)
TODO: the grab could be released at least as long as the window is topmost
and active

svn path=/trunk/kdebase/kwin/; revision=196998
2003-01-02 16:36:00 +00:00
Luboš Luňák
5100e63107 Client::is_sticky_ is dead and would be gone, if it weren't for BIC.
No need to this duplication of Client::desk == NET::OnAllDesktops.
It's simple, desk == NET::OnAllDesktops - sticky
             desk == 0 - not mapped yet
             desk something else - the desktop the window is on

svn path=/trunk/kdebase/kwin/; revision=196529
2002-12-30 20:34:38 +00:00
Luboš Luňák
9e3efc9cd9 "implement" NET::Sticky
and ignore client requests to change NET::Hidden

svn path=/trunk/kdebase/kwin/; revision=196522
2002-12-30 20:08:31 +00:00
Luboš Luňák
c595302a1f Don't let normal windows appear out of workarea, even if they're stupid
and ask for it.

svn path=/trunk/kdebase/kwin/; revision=194509
2002-12-17 20:16:04 +00:00
Luboš Luňák
b5e356620a Fix #15016.
svn path=/trunk/kdebase/kwin/; revision=194508
2002-12-17 20:11:59 +00:00
Luboš Luňák
1519056ee1 Grmbl. Make the NET::Menu -> NET::TopMenu hack less strict.
svn path=/trunk/kdebase/kwin/; revision=189732
2002-11-19 14:44:11 +00:00
Luboš Luňák
dfcc58b00f Fix #49369 and generally try to improve window matching.
Use WM_WINDOW_ROLE also for fake sessions (Save window settings).
Remember also window type.

svn path=/trunk/kdebase/kwin/; revision=185456
2002-10-24 16:22:15 +00:00
Luboš Luňák
7c33e280ef Fix #39172. Send the synthetic configure notify event _after_ reparenting
into WindowWrapper (in WindowWrapper::show() triggered by Client::show()).
Some toolkits go up the window hiearchy when finding the "real" position
of the window (i.e. the topleft decoration border corner), and if they
receive the ReparentNotify after the synthetic ConfigureNotify, they'll
miscalculate it. (Hmm, I wonder how Qt does it since it gets it right.)

CCMAIL: 39172-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=185453
2002-10-24 15:47:09 +00:00
Luboš Luňák
4304971dfd Fix #22189.
CCMAIL: 22189-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=185452
2002-10-24 15:39:36 +00:00
Luboš Luňák
a6304cef72 Fix #30506 by handling the desktop and sticky flag together. The is_sticky
flag should go, desk == OnAllDesktops should be the same.

svn path=/trunk/kdebase/kwin/; revision=185277
2002-10-23 15:52:18 +00:00
Luboš Luňák
a5e9e177c0 Back to qt_window_role (KWin really shouldn't use Qt's internals :( ).
svn path=/trunk/kdebase/kwin/; revision=185265
2002-10-23 14:38:10 +00:00
Dirk Mueller
9e670223b9 remove debug output I accidentally committed and fix the class documentation
svn path=/trunk/kdebase/kwin/; revision=185193
2002-10-22 20:41:49 +00:00
Dirk Mueller
cb1c1ca86d argh, bloody Qt!!!
they renamed the internal variable we're using here :-)

svn path=/trunk/kdebase/kwin/; revision=185172
2002-10-22 18:17:44 +00:00
Luboš Luňák
9711f8b576 Workaround for stupid xv not setting WM_CLASS correctly.
svn path=/trunk/kdebase/kwin/; revision=185132
2002-10-22 11:57:43 +00:00
Luboš Luňák
5aaf02f39f Oh boy, was I really so stupid to make assumptions based on what xv does?
svn path=/trunk/kdebase/kwin/; revision=184487
2002-10-18 13:25:19 +00:00
Luboš Luňák
a508895993 Damn, I hate keeping BC in an application.
svn path=/trunk/kdebase/kwin/; revision=184470
2002-10-18 11:13:30 +00:00
Luboš Luňák
a8f13c1c9b X resource name is the same for all app's windows, X resource class may
differ for the same app.
David says the correct spelling is 'faux pas' :).

svn path=/trunk/kdebase/kwin/; revision=184347
2002-10-17 14:48:34 +00:00
Luboš Luňák
9003c81c4b Only added a comment.
svn path=/trunk/kdebase/kwin/; revision=181849
2002-10-03 10:04:10 +00:00
Luboš Luňák
1a598b9bc0 Fix #33146 - don't create KNotify events e.g. for toplevel menubar.
Introduced Client::isDialog() and Client::isNormalWindow() checking
for NET::Dialog and NET::Normal, including NET::Unknown and workaround
for Qt<3.1 not setting NET::Dialog.

svn path=/trunk/kdebase/kwin/; revision=181308
2002-09-30 13:32:58 +00:00
Luboš Luňák
c8c79c3a02 Don't fix the window position if it will be placed using a placement policy.
svn path=/trunk/kdebase/kwin/; revision=181274
2002-09-30 12:00:08 +00:00
Luboš Luňák
826765b1df Don't remove focus from an auto-shaded window. That's the focus policy's
job to do it if it wants.

svn path=/trunk/kdebase/kwin/; revision=181231
2002-09-30 09:34:54 +00:00
Michael Brade
13a6aebdb3 Fixed "KNotes not movable with LMB", ok'ed by Lubos.
@@ -3011,7 +3011,7 @@ bool Client::isMovable() const
 {
     return may_move &&
         ( windowType() == NET::Normal || windowType() == NET::Dialog || windowType() == NET::Toolbar
-            || windowType() == NET::Menu ) &&
+            || windowType() == NET::Menu || windowType() == NET::Override ) &&
         ( !isMaximized() || ( options->moveResizeMaximizedWindows || max_mode != MaximizeFull ) );
 }

svn path=/trunk/kdebase/kwin/; revision=180738
2002-09-27 18:21:45 +00:00
Luboš Luňák
4c9d70a011 Fix #34085.
svn path=/trunk/kdebase/kwin/; revision=180512
2002-09-26 11:56:21 +00:00
Luboš Luňák
827740d489 Fix #47239 - if the window has specified resize increments, don't
remove left/right border for it when it's maximized, that would resize the window

svn path=/trunk/kdebase/kwin/; revision=180151
2002-09-24 17:18:02 +00:00
Aaron J. Seigo
afc58ef42e wrong event raised on shading, bug #21417
-        Events::raise( s ? Events::ShadeDown : Events::ShadeUp );
+        Events::raise( s ? Events::ShadeUp : Events::ShadeDown );

svn path=/trunk/kdebase/kwin/; revision=179541
2002-09-22 03:31:12 +00:00
Matthias Ettrich
251c8ec906 disable the close icon (rather than not-checking it!) on non-closeable
windows. Make toolbars closeable by default (I really love to be able
to close kpager again)

svn path=/trunk/kdebase/kwin/; revision=178978
2002-09-19 17:22:31 +00:00
Luboš Luňák
20f980dff7 Make sure also dialogs are not placed under toplevel menubar or
Kicker at the top edge.

svn path=/trunk/kdebase/kwin/; revision=177159
2002-09-11 13:02:54 +00:00
Matthias Ettrich
7a9e7dbb24 WM applet fixes: ignore withdrawn windows on a few more places, and (slightly hacky)
set the skip-taskbar NETWM hin on windows that have an initial_state of WithDrawn

svn path=/trunk/kdebase/kwin/; revision=176459
2002-09-08 15:45:26 +00:00
Matthias Ettrich
e579db0c68 better fix for the click-raise problem (one that actually keeps the taskbar functional...)
svn path=/trunk/kdebase/kwin/; revision=176420
2002-09-08 12:57:41 +00:00
Matthias Ettrich
b301468a80 in takeFocus, do not suppress the activation of dock windows when
those are not stays on top

svn path=/trunk/kdebase/kwin/; revision=176411
2002-09-08 12:09:55 +00:00