Commit graph

293 commits

Author SHA1 Message Date
Eike Hein
b5ff06d5f8 Backport svn commit 449791
svn path=/trunk/KDE/kdebase/kwin/; revision=449793
2005-08-16 18:41:06 +00:00
Luboš Luňák
678a1ce18a Placement policy 'maximizing'.
svn path=/trunk/KDE/kdebase/kwin/; revision=444046
2005-08-08 14:22:52 +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
Thomas Lübking
d6b4366c51 redesigned partial opacity (moved from kompmgr to kwin, allowing to be set e.g. from decos) and (hopefully) fixed CPU hunger (if using fades)
svn path=/trunk/KDE/kdebase/kwin/; revision=430562
2005-07-01 19:55:06 +00:00
Luboš Luňák
39388e4aeb No idea what this setShapable() stuff is, but it certainly
doesn't belong to detectNoBorder().
CCMAIL: thomas.luebking@web.de


svn path=/trunk/KDE/kdebase/kwin/; revision=428551
2005-06-24 15:22:34 +00:00
Luboš Luňák
c18591eb57 Support _NET_FRAME_EXTENTS as the official spec name
for _KDE_NET_WM_FRAME_STRUT.


svn path=/trunk/KDE/kdebase/kwin/; revision=427612
2005-06-21 09:00:28 +00:00
Luboš Luňák
30cab17748 Another final attempt at sorting out the shaded geometry problems.
This time at least the code should detect properly all attempts
to use shaded geometry when the normal one is needed.
BUG: 96602


svn path=/trunk/KDE/kdebase/kwin/; revision=425377
2005-06-14 15:35:44 +00:00
Luboš Luňák
da00272012 An attempt to get the crazy shaded windows geometry handling right.
This fixes comment #10 in 96602, I don't know if it fixes as a whole,
but I'm quite sure people will complain again if not.
BUG: 96602


svn path=/trunk/KDE/kdebase/kwin/; revision=423512
2005-06-08 18:07:27 +00:00
Luboš Luňák
8ef2a46218 Use functions for postponing geometry updates, rather doing
it manually all the time using setGeometry( geometry()).
Needed for getting geometry of the damn shaded windows right
finally.


svn path=/trunk/KDE/kdebase/kwin/; revision=423506
2005-06-08 17:16:53 +00:00
Luboš Luňák
20f80af287 Make it possible to use the window-specific settings dialog
to also set some things only temporarily. E.g. in order
to set skiptaskbar flag on a window, it's just
Alt+F3/Advanced/Special Window Settings/Preferences ->
Apply Now for Skip taskbar, and turn on the checkbox.


svn path=/trunk/KDE/kdebase/kwin/; revision=423112
2005-06-07 15:31:15 +00:00
Luboš Luňák
96e1fdab6c Use KNotify for notifications about windows demanding attention.
People who use hidden Kicker, have their taskbar configured to show
only windows on the current desktop or similar now may configure
it so that windows that didn't get focus because of focus stealing
prevention now can not only have their taskbar entry marked
but there can be e.g. also a passive popup.


svn path=/trunk/KDE/kdebase/kwin/; revision=419727
2005-05-30 13:31:33 +00:00
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
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
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
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
Luboš Luňák
07203ba5b6 Window-specific rules for dynamic windows shortcuts, so that it's
possible to always have certain shortcuts assigned to their windows
if such windows are open. Still few TODO items left, but let's consider
it enough for #44268 to be marked as done.
FEATURE: 44268

svn path=/trunk/kdebase/kwin/; revision=379444
2005-01-17 15:53:14 +00:00
Luboš Luňák
ded2f457b8 Workaround for xterm not coping well with being maximized to a geometry
that's not exact multiple of its resize increments. Selecting obeying
strict geometry in window-specific settings makes KWin avoid this.
Maximization then doesn't work very well indeed, but one cannot please
everybody, and the bug is in xterm after all.
BUG: 94183

svn path=/trunk/kdebase/kwin/; revision=379401
2005-01-17 13:35:48 +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
65c3b55e05 Revert last revert, dynamic keybidings are back in.
svn path=/trunk/kdebase/kwin/; revision=377118
2005-01-10 09:56:21 +00:00
Luboš Luňák
c7d0776f01 Revert last changes because of temporary freeze.
svn path=/trunk/kdebase/kwin/; revision=375467
2005-01-04 14:57:42 +00:00
Luboš Luňák
d04ce83410 Custom shortcuts for windows (#44268). It still needs some testing, window
rules for them to be assigned automatically, and some way to indicate
every window's shortcut, but it more or less works.

svn path=/trunk/kdebase/kwin/; revision=375458
2005-01-04 14:24:55 +00:00
Luboš Luňák
ded2656b03 If a window has configured a specific position using window-specific settings,
don't force it to be entirely in the workarea, as long as at least something
is still visible.

svn path=/trunk/kdebase/kwin/; revision=370319
2004-12-13 11:40:25 +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
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
Luboš Luňák
8255bc2749 Client::isManaged() should not be true before it's added to the client
list :(. At least work around a possible desktop switching and invisible
window because of this.

svn path=/trunk/kdebase/kwin/; revision=360436
2004-11-04 17:56:05 +00:00
Luboš Luňák
5ac4a74f2f Don't try to focus new modal for the active window while the new modal
is still in manage(). Should fix first-time showing of kwallet dialog.

svn path=/trunk/kdebase/kwin/; revision=335960
2004-08-04 12:19:50 +00:00
Luboš Luňák
5979a50bb6 Detect fullscreen hack state even while mapped (MPlayer).
svn path=/trunk/kdebase/kwin/; revision=333175
2004-07-27 08:36:28 +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
58e12da8b7 #53420 - don't let normal windows go out of the workarea if they request
it.

svn path=/trunk/kdebase/kwin/; revision=329883
2004-07-16 11:25:07 +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
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
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
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
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
Luboš Luňák
d373e84e3a Fix fix for #77341.
svn path=/trunk/kdebase/kwin/; revision=307278
2004-04-29 14:13:08 +00:00
Luboš Luňák
bc8e0805a7 This should fix #77341 (fingers crossed), group transients without apps specifying
the group for windows.

svn path=/trunk/kdebase/kwin/; revision=307170
2004-04-29 09:43:01 +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
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
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
0760f3f763 Ok, some of these should be still slots after all.
svn path=/trunk/kdebase/kwin/; revision=293155
2004-03-02 17:37:20 +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
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
6905d4530a As the comment says, these don't need to be slots anymore.
svn path=/trunk/kdebase/kwin/; revision=291845
2004-02-27 12:46:21 +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
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
5f079f5e3d Fix for #67416 by Martin Koller + my grab code changes to get mouse
clicks even for the active window.

svn path=/trunk/kdebase/kwin/; revision=286702
2004-02-10 09:24:57 +00:00
Luboš Luňák
714d3fcd6c If e.g. the titlebar is already outside of the workarea, there's no point in performing
a restricted move/resize, because then e.g. resize would also move the window (#74555).

svn path=/trunk/kdebase/kwin/; revision=286537
2004-02-09 18:09:01 +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
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
05b1897258 Make it possible for Client to pass an XEvent to Workspace for handling
it (will be needed for the following MapRequest handling for save-sets).

svn path=/trunk/kdebase/kwin/; revision=273669
2003-12-18 12:20:22 +00:00
Luboš Luňák
997f45b25e Show the topmenu_space window reserving the space for standalone menubars
only if there's no menubar active. Helps Fredrik to have the menu shadow
exactly in the color he wants :).

svn path=/trunk/kdebase/kwin/; revision=273185
2003-12-15 18:30:14 +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
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
bcd0bb4113 Fix finding of mainwindows.
svn path=/trunk/kdebase/kwin/; revision=272430
2003-12-11 09:09:38 +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
8f181d8b52 checkGroupTransients() uses hasTransient() to break loops, so it must detect them,
fixes #69094

svn path=/trunk/kdebase/kwin/; revision=269892
2003-11-27 14:37:55 +00:00
Luboš Luňák
4ee178b277 Fix #69005 - make it possible to differentiate between a window really
being shaded and being set to be shaded (which may differ with hover unshade).

svn path=/trunk/kdebase/kwin/; revision=269526
2003-11-25 15:26:50 +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
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
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
182804067c cvsrevertlast - stupid idea
svn path=/trunk/kdebase/kwin/; revision=266835
2003-11-13 15:57:18 +00:00
Luboš Luňák
ab67bd0e89 inOnDesktop( NET::OnAllDesktops ) should always return true.
svn path=/trunk/kdebase/kwin/; revision=266831
2003-11-13 15:50:56 +00:00
Luboš Luňák
07b08d5d99 Don't use struts if KWin itself restricts workarea size by topmenus.
svn path=/trunk/kdebase/kwin/; revision=266150
2003-11-10 18:08:04 +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
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
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
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
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
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
ce37c50587 Small cleanups.
svn path=/trunk/kdebase/kwin/; revision=255049
2003-09-30 10:55:06 +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
0be0f139fa This shouldn't happen at all anymore, so make it fatal.
svn path=/trunk/kdebase/kwin/; revision=253815
2003-09-25 10:36:31 +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
592a92f00b Move code related to mouse window resizing to geometry.cpp .
svn path=/trunk/kdebase/kwin/; revision=253538
2003-09-24 10:55:54 +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
84dc01a473 Since Workspace::workspaceEvent() now checks also for windowwrapper
and frame events, it's not necessary to handle them specially
there. Also move DestroyNotify handling to windowEvent().

svn path=/trunk/kdebase/kwin/; revision=252355
2003-09-19 11:16:57 +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
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
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
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
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
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
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
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
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
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
3b57952b03 Take care of #46042. [...resisted to say here something about Motif >;> ]
svn path=/trunk/kdebase/kwin/; revision=174310
2002-08-28 15:17:31 +00:00
Luboš Luňák
78a7c08049 Since some of the .h files are installed ...
Prefix all the #ifndef #define ... #endif symbols with KWIN_ , just in case
somebody uses CLIENT_H or so too.
And don't include config.h .

svn path=/trunk/kdebase/kwin/; revision=168940
2002-07-26 20:30:36 +00:00
Till Krech
7c1d536ad3 make it compile again...
RCS file: /home/kde/kdebase/kwin/client.h,v
retrieving revision 1.82
diff -u -p -r1.82 client.h
--- client.h    2002/07/05 20:00:02     1.82
+++ client.h    2002/07/06 02:04:23
@@ -155,7 +155,7 @@ public:
     bool isDesktop() const;
     bool isDock() const;
     bool isTool() const;
-    bool isMenu() const;
+    bool isTopMenu() const;

     bool isResizable() const;

Index: plugins.cpp
===================================================================
RCS file: /home/kde/kdebase/kwin/plugins.cpp,v
retrieving revision 1.30
diff -u -p -r1.30 plugins.cpp
--- plugins.cpp 2002/07/05 20:05:22     1.30
+++ plugins.cpp 2002/07/06 02:04:23
@@ -119,7 +119,7 @@ bool PluginMgr::loadPlugin(QString nameS

     void* create_func = library->symbol("create");
     if(create_func) {
-        create_ptr = (Client* (*)(Workspace *ws, WId w, NET::WindowType, NET::WindowType))create_func                                   ;
+        create_ptr = (Client* (*)(Workspace *ws, WId w, NET::WindowType))create_func;
     }
     create_func = library->symbol("allocate");
     if(create_func) {

svn path=/trunk/kdebase/kwin/; revision=165118
2002-07-06 02:05:46 +00:00
Luboš Luňák
6d7f113304 Implemented _NET_WM_MOVERESIZE.
Fixed some minor bugs with resizing.

svn path=/trunk/kdebase/kwin/; revision=165071
2002-07-05 20:00:02 +00:00
Cristian Tibirna
d546d25e68 CT: - consistently maximize (and unshade) and restore (and unshade) shaded windows
- don't allow resizing of shaded windows
    - unshade windows on minimize
    - clean up an unused method

svn path=/trunk/kdebase/kwin/; revision=140800
2002-03-04 02:20:26 +00:00
Cristian Tibirna
efb48f70ef CT: fix my fix for Ctrl+ArrowKeys moving. Reviewed by Matthias Ettrich
svn path=/trunk/kdebase/kwin/; revision=140544
2002-03-03 12:39:31 +00:00
Cristian Tibirna
e5e8ee00c1 CT: fix compilation
svn path=/trunk/kdebase/kwin/; revision=140438
2002-03-03 04:02:11 +00:00
Cristian Tibirna
e0a42fc063 CT: fix the move with keyboard with Ctrl (smaller steps).
Add the missing signal in KWinInterface (to be used in the redesigned client notification)

svn path=/trunk/kdebase/kwin/; revision=140436
2002-03-03 03:31:52 +00:00
Matthias Ettrich
83f58ed248 gracefully handle more than one desktop client application (which
happens triggered by a kdesktop bug on David Faure's machine).

You can now launch additional desktop applications with

     kstart --type Desktop konqueror
or
     kstart --type Desktop konsole

and toggle between them with

    dcop kwin default circulateDesktopApplications

svn path=/trunk/kdebase/kwin/; revision=140330
2002-03-02 21:03:49 +00:00
Cristian Tibirna
05129f3b19 CT: fix for gravitate moving non-NW windows on session restore. Many thanks to Matthias Ettrich for saving my day
svn path=/trunk/kdebase/kwin/; revision=140048
2002-03-02 01:34:31 +00:00
Matthias Ettrich
e34a6ee283 second half of the "avoid stealing focus if possible" fix
svn path=/trunk/kdebase/kwin/; revision=139642
2002-02-28 22:11:43 +00:00
Waldo Bastian
8f1f5f1b45 * Clean up move/resize code.
* Make moving/resizing work with keyboard.

svn path=/trunk/kdebase/kwin/; revision=113548
2001-09-06 22:54:31 +00:00
Simon Hausmann
9782f0f0f8 - darn, I hate X
svn path=/trunk/kdebase/kwin/; revision=110966
2001-08-18 23:27:05 +00:00
Simon Hausmann
c8f1508b36 - moved netwm.h inclusions after indirect qvariant.h inclusions
(fixes Bool clash)
- missing includes (qcursor,qstyle,qpainter,qvaluelist)
- minor qstyle api fixlet

svn path=/trunk/kdebase/kwin/; revision=110958
2001-08-18 23:06:16 +00:00
Luboš Luňák
0827825fcb Use debug area for the debug info.
Explicitly note in the headers that the classes have to keep BC ( after KDE2.2 ).
Fixed index in walking through desktops.

svn path=/trunk/kdebase/kwin/; revision=101972
2001-06-13 15:47:54 +00:00
Luboš Luňák
e0dbc88040 Implemented NET::SkipPager in kwin, kpager, the pager applet and kstart.
Not that I really understand why's there both SkipTaskbar and SkipPager ...

svn path=/trunk/kdebase/kwin/; revision=94832
2001-05-02 20:37:30 +00:00
Luboš Luňák
4eb2dfa0ee shadeChange() ( for the icewm plugin )
svn path=/trunk/kdebase/kwin/; revision=94149
2001-04-27 08:38:44 +00:00
Luboš Luňák
18d2c93cea Added private data pointer members to classes which might be accessed
by style plugins ( KWin has to keep BC for these ). I hope these are
all classes that need it.
And of course, this change is not binary compatible, but it fortunately
doesn't matter much for KWin these days.

svn path=/trunk/kdebase/kwin/; revision=90127
2001-04-03 14:40:34 +00:00
Matthias Ettrich
5cf8a3c9fd some attempts to fix Sun's latest Java, no success so far. Giving up.
svn path=/trunk/kdebase/kwin/; revision=88713
2001-03-26 08:10:31 +00:00
Matthias Ettrich
9b24d884bf legacy session management support (WM_COMMAND) for emacs-lovers.
Many thanks to Leon Bottou <leonb@research.att.com> for this one.

svn path=/trunk/kdebase/kwin/; revision=87737
2001-03-19 15:35:07 +00:00
Luboš Luňák
8b6478aeda Applying #19154 ( together with #19158 fixes #13794 #17915 #17698 )
svn path=/trunk/kdebase/kwin/; revision=86664
2001-03-12 21:32:13 +00:00
Waldo Bastian
2f90225543 Put stuff in KWinInternal namespace.
Export client.h, workspace.h and options.h so that people can write plugins.

svn path=/trunk/kdebase/kwin/; revision=83707
2001-02-20 01:20:38 +00:00
Matthias Ettrich
7ba861c71d avoid shading for no-border cliens
Index: client.h
===================================================================
RCS file: /home/kde/kdebase/kwin/client.h,v
retrieving revision 1.62
diff -d -u -r1.62 client.h
--- client.h    2001/01/16 21:29:36     1.62
+++ client.h    2001/02/19 22:25:13
@@ -449,7 +449,7 @@
 public:
     NoBorderClient( Workspace *ws, WId w, QWidget *parent=0, const char *name=0 );
     ~NoBorderClient();
-
+    void setShade( bool , int ){}
 };

 #endif

svn path=/trunk/kdebase/kwin/; revision=83691
2001-02-19 22:25:34 +00:00
Matthias Ettrich
01241073b6 make xswallow work
svn path=/trunk/kdebase/kwin/; revision=78458
2001-01-16 21:29:36 +00:00
Matthias Ettrich
e9d30a20d7 Balaji Ramani <balaji@spinnakernet.com>: shadeHover support
GUI: new operation popup item: "Store Settings"

svn path=/trunk/kdebase/kwin/; revision=78043
2001-01-14 20:16:04 +00:00
Matthias Ettrich
33f78a855b some more keybindings
less race conditions with map/unmap thanks to BlackboxTechnology(tm)

svn path=/trunk/kdebase/kwin/; revision=77544
2001-01-11 23:41:07 +00:00
Matthias Ettrich
45f2bbd3d3 smarter autoRaise, wondering what it breaks this time
svn path=/trunk/kdebase/kwin/; revision=76893
2001-01-08 09:52:44 +00:00
Matthias Ettrich
287b654d39 an attempt to reduce the slowliness of opaque resize with non-Qt application
svn path=/trunk/kdebase/kwin/; revision=73641
2000-12-06 15:03:59 +00:00
Matthias Ettrich
6babb311ca more clever maximize(ver, hor, full) stuff
svn path=/trunk/kdebase/kwin/; revision=71188
2000-11-17 19:43:20 +00:00
Matthias Ettrich
8ba0c8171f fixed unmanaged windows on subsquent desktop switches
svn path=/trunk/kdebase/kwin/; revision=68087
2000-10-17 12:51:39 +00:00
Matthias Ettrich
1266db9901 fixed transient_for handling for embedded main windows
Patch reviewed by Lars.

svn path=/trunk/kdebase/kwin/; revision=67756
2000-10-15 14:19:15 +00:00
Rik Hemsley
6ff8139d9e Making NETWinInfo visible.
It's actually a derived class, but we can safely static_cast it back
to NETWinInfo. Makes it easier for clients to use it.

svn path=/trunk/kdebase/kwin/; revision=67689
2000-10-14 23:44:24 +00:00
Matthias Ettrich
6dacbd0112 tool window handling for the default style
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
2000-09-25 15:30:51 +00:00
Matthias Ettrich
10b2e5fde2 don't activate dock windows with click (fixes kicker focus problems,
reviewed by Carsten Peiffer)

svn path=/trunk/kdebase/kwin/; revision=63580
2000-09-11 20:54:00 +00:00
Waldo Bastian
1add59200c WABA: Fixes BR6808 and BR7983.
#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
2000-09-11 18:59:26 +00:00
Matthias Ettrich
bf33b067be - completed session management (maximize, shaded, and restore were missing)
- 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
2000-08-30 14:27:30 +00:00
Matthias Ettrich
078b8b3ff4 - make maximized windows
- 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
2000-08-16 12:18:56 +00:00
Matthias Ettrich
d3e8f75ada no need for application-modal dialogs to stay on top....
svn path=/trunk/kdebase/kwin/; revision=60475
2000-08-10 13:01:12 +00:00
Matthias Ettrich
ffbe75dfba some bugfixes
svn path=/trunk/kdebase/kwin/; revision=60295
2000-08-09 10:02:56 +00:00
Matthias Ettrich
d7d265452b some work on the new default style. Better, but not there yet.
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
2000-07-28 22:06:22 +00:00
Matthias Ettrich
7ca46b1e1c do not manage magic for java applets
svn path=/trunk/kdebase/kwin/; revision=56985
2000-07-15 01:12:41 +00:00
Matthias Ettrich
bda93628e4 highly improved style switching
svn path=/trunk/kdebase/kwin/; revision=56978
2000-07-15 00:46:38 +00:00