Commit graph

243 commits

Author SHA1 Message Date
Luboš Luňák
512fb17a95 Forward port of #108961.
svn path=/trunk/KDE/kdebase/kwin/; revision=442363
2005-08-02 13:25: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
170111c4e9 Find out what keys are mapped to Alt and Win modifiers instead of having it hardcoded.
I fail to see why anybody would want Alt bound to anything else
than Alt keys, but oh well.
BUG: 106013


svn path=/trunk/KDE/kdebase/kwin/; revision=427993
2005-06-22 15:44:24 +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
238586e608 It was necessary after all.
BUG: 72346


svn path=/trunk/KDE/kdebase/kwin/; revision=413125
2005-05-13 12:32:33 +00:00
Luboš Luňák
5722d3fac8 Implement _NET_SHOWING_DESKTOP, giving control of the 'show desktop'
feature to KWin. There shouldn't hopefully be any visible user
difference other than fixed bugs.
BUG: 78109
BUG: 99524


svn path=/trunk/KDE/kdebase/kwin/; revision=413066
2005-05-13 08:57:21 +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
9c34475e4e Make only left mouse on window borders move/resize windows.
BUG: 83378

svn path=/trunk/kdebase/kwin/; revision=408633
2005-04-29 15:14: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
2d41d88fff This should fix some of the cannot-move-windows-after-being-logged-in-for-long-time
problems.

svn path=/trunk/kdebase/kwin/; revision=377222
2005-01-10 16:53:11 +00:00
Luboš Luňák
e3cd04c5de break missing.
svn path=/trunk/kdebase/kwin/; revision=372733
2004-12-22 13:00:59 +00:00
Luboš Luňák
5baf4a79c4 Try harder to restore focus if something sets it to null.
svn path=/trunk/kdebase/kwin/; revision=365079
2004-11-22 11:34:09 +00:00
Luboš Luňák
a2a55c8436 Make electric borders work also during DND. Blame David and George
for getting me in Santa Claus mood.
FEATURE:86998

svn path=/trunk/kdebase/kwin/; revision=361725
2004-11-09 15:38:33 +00:00
Luboš Luňák
053e2f669d Obey activation from Kicker etc. even with high focus stealing prevention
levels.
CCMAIL: 90733-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=352123
2004-10-05 15:46:43 +00:00
Luboš Luňák
001646f3d8 Really fix MPlayer. It's nice to see people trust me and nobody has
actually tested MPlayer.

svn path=/trunk/kdebase/kwin/; revision=335441
2004-08-03 09:21:18 +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
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
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
5632bb5129 Patch from Christopher J. Suleski (linux tildewave com) implementing #30426.
CCMAIL: 30426-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=315341
2004-05-28 08:53:44 +00:00
Luboš Luňák
4952833028 Fix updateXTime() to make sure the X timestamp doesn't get newer than
timestamp of events still in the X events queue.
CCMAIL: 81693-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=314035
2004-05-24 08:54:04 +00:00
Luboš Luňák
36a1cd4b18 Detect also X focus policy set to PointerRoot, and re-activate the active
window instead of setting focus to null focus window.
CCMAIL: 81145-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=310051
2004-05-10 14:06:32 +00:00
Luboš Luňák
5da0e37909 Handle the case when there's actually no key for 4th modifier.
svn path=/trunk/kdebase/kwin/; revision=306807
2004-04-27 14:59:47 +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
f0fcba2d6d Oops, fix clickraise.
CCMAIL: 57111-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=304929
2004-04-19 14:29:37 +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
a6adcb9056 Ignore FocusIn events for clients which were unmapped by kwin
but had got focus shortly before. Otherwise quick switching between
two virtual desktops with Konsoles can result in demand attention
state.

svn path=/trunk/kdebase/kwin/; revision=295169
2004-03-11 13:15:04 +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
458573e997 Oops, clicking on the titlebar started drag, broken by last commit.
svn path=/trunk/kdebase/kwin/; revision=293758
2004-03-05 14:07: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
aa8f2d6607 Fix some focus stealing prevention problems when timestamp is not
explicitly specified.

svn path=/trunk/kdebase/kwin/; revision=293135
2004-03-02 16:43:29 +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
53eefc6ed3 Before getting event about focus being set to None, really check if it's
still so before reseting it. Fixes problem with kview run from konsole,
set to fullscreen, set back to normal, closed -> konsole doesn't become
active.

svn path=/trunk/kdebase/kwin/; revision=290622
2004-02-23 17:09:47 +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
b525af029e Avoid sending synthetic configure notify events with user moving/resizing
when a real one will be sent.

svn path=/trunk/kdebase/kwin/; revision=284785
2004-02-03 15:18:15 +00:00
Luboš Luňák
10405ee978 Optimize MotionNotify discarding while moving/resizing.
svn path=/trunk/kdebase/kwin/; revision=284784
2004-02-03 15:16:58 +00:00
Luboš Luňák
e5d090ff4d When the X focus gets set to None, reset it to the null focus window,
so that keyboard shortcuts still work.

svn path=/trunk/kdebase/kwin/; revision=284489
2004-02-02 14:17:01 +00:00
Luboš Luňák
52be7d1164 Fix last commit.
svn path=/trunk/kdebase/kwin/; revision=277199
2004-01-06 09:42:00 +00:00
Luboš Luňák
981e44f780 Fix leaking of button grabs.
http://lists.kde.org/?l=kwin&m=107297332416607&w=2

svn path=/trunk/kdebase/kwin/; revision=276957
2004-01-05 13:29:00 +00:00
Luboš Luňák
5a171eac2b If there's a MapRequest in the wrapper window, this means something
has reparented an unknown window inside the wrapper, and wants to show it.
This is either somebody doing something stupid, or it's a save-set saved
window from some crashing application. And save-set is a bit flawed,
as it in fact should reparent to root, not to the closest existing ancestor.
Therefore, act like if it was reparented to root, and manage the window.
Takes care of #68241.

svn path=/trunk/kdebase/kwin/; revision=273671
2003-12-18 12:25:22 +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
c84b674e6a Pass also the currently active window in the _NET_ACTIVE_WINDOW message.
svn path=/trunk/kdebase/kwin/; revision=273668
2003-12-18 12:16:30 +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
ba3e612f68 There should be some isMoveResizeMode().
svn path=/trunk/kdebase/kwin/; revision=272513
2003-12-11 18:00:01 +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
5bbec2c584 Compress MotionNotify events while user moving/resizing, this should
make opaque resizing acceptable again, close #67471, and stop people
complaining.

svn path=/trunk/kdebase/kwin/; revision=269302
2003-11-24 14:38:03 +00:00
Luboš Luňák
162c76cf46 Reset Client::buttonDown if startMoveResize() failed
due to not being able to grab input. Visible with
resizing the shortcut configure dialog, which has grab.

svn path=/trunk/kdebase/kwin/; revision=269293
2003-11-24 14:24:34 +00:00
George Staikos
f859769bb3 use the settings for xinerama placement
svn path=/trunk/kdebase/kwin/; revision=268721
2003-11-21 23:05:35 +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
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
1f4cc0d542 Fix problem with kppp's systray icon reappearing
(http://lists.kde.org/?l=kde-core-devel&m=106931968918881&w=2).

svn path=/trunk/kdebase/kwin/; revision=268359
2003-11-20 11:56:01 +00:00
Luboš Luňák
b55f71dcb7 Debug output not necessary anymore.
svn path=/trunk/kdebase/kwin/; revision=268009
2003-11-18 17:07:40 +00:00
Luboš Luňák
d369e69db0 KWin controls showing/hiding of topmenus, block requests for it.
svn path=/trunk/kdebase/kwin/; revision=266171
2003-11-10 18:50:38 +00:00
Luboš Luňák
0d96e60c81 Yet another workaround for the crappy systray mechanism, looking forward
to deprecate it. The tray should work again now.

svn path=/trunk/kdebase/kwin/; revision=263494
2003-10-31 17:56:10 +00:00
Luboš Luňák
240ad036d0 Make system tray temporarily set _KDE_SYSTEM_TRAY_EMBEDDING property on
windows while embedding them, allowing KWin to figure out it's being used
and that it's not going away. This hack avoids the reparenting fight
between KWin and QXEmbed where QXEmbed started to loose after the recent
fixes.
In order to make systray really work, QXEmbed still needs some fixes
related to not destroying the embedded window.

svn path=/trunk/kdebase/kwin/; revision=263178
2003-10-30 10:10:54 +00:00
Luboš Luňák
20ffdc2263 Send synthetic configure notify event when manually moving/resizing.
svn path=/trunk/kdebase/kwin/; revision=258903
2003-10-14 15:33:05 +00:00
Luboš Luňák
984c76f0c1 More shade related changes.
svn path=/trunk/kdebase/kwin/; revision=257727
2003-10-10 13:00:26 +00:00
Luboš Luňák
83835a8757 Small cleanup related to timestamp handling.
svn path=/trunk/kdebase/kwin/; revision=257715
2003-10-10 12:48:09 +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
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
ca3a1382f2 Drop configure events compression
a) it's wrong (it may e.g. miss gravity change)
b) I doubt it improves anything

svn path=/trunk/kdebase/kwin/; revision=255354
2003-10-01 12:08:09 +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
0050bd7155 Don't miss synhetic UnmapNotify from XWithdrawWindow() sent
to the root window.

svn path=/trunk/kdebase/kwin/; revision=254877
2003-09-29 14:39:02 +00:00
Luboš Luňák
79796b2fb7 Make keyboard move/resize faster with Alt pressed.
svn path=/trunk/kdebase/kwin/; revision=254811
2003-09-29 11:19:55 +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
81c3ff262b This can actually happen with moving/resizing started from keyboard,
buttonDown is then set manually.

svn path=/trunk/kdebase/kwin/; revision=253817
2003-09-25 10:37:27 +00:00
Luboš Luňák
8e367689cd Rework restricted move/resize to be readable, and as a side effect make
it finally work correctly.

svn path=/trunk/kdebase/kwin/; revision=253801
2003-09-25 09:29:18 +00:00
Luboš Luňák
b1fe242be0 Use the right parts of XEvent with MotionNotify.
svn path=/trunk/kdebase/kwin/; revision=253800
2003-09-25 09:28:56 +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
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
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
1451910bc6 Allow resizing of a window back to its original geometry.
svn path=/trunk/kdebase/kwin/; revision=252347
2003-09-19 11:12:06 +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
5f4b9de17c Small cleanup of mouse events handling.
svn path=/trunk/kdebase/kwin/; revision=252345
2003-09-19 11:08:37 +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
a70edeb06c I'd like to be able to send KWin KNotify evets to a file.
svn path=/trunk/kdebase/kwin/; revision=181297
2002-09-30 12:57:59 +00:00
Waldo Bastian
f21e0fd688 Send notifications on desktop changes.
svn path=/trunk/kdebase/kwin/; revision=75432
2000-12-21 21:04:52 +00:00
Matthias Ettrich
a2c3696df5 Removed startkde and exitkde events. They don't belong into kwin.
I remember that I removed those already some time ago. Somebody keeps
believing that KWin has something to do with a) KDE startup and b) KDE
Exit, grmbl.

This is not true, it's ksmserver who does this.

Unfortunatly I cannot remove the "logout" keybindings due to the translations.
It rather belongs into kdesktopbindings than kwinbindings.

Please, guys, kwin is a *window* manager, not a desktop (seems like a
neverending story...)

svn path=/trunk/kdebase/kwin/; revision=66503
2000-10-05 22:09:49 +00:00
Charles Samuels
fbc7c46935 Bleh #1
svn path=/trunk/kdebase/kwin/; revision=63811
2000-09-14 03:10:03 +00:00
Matthias Ettrich
16e4aa004c even more sounds
svn path=/trunk/kdebase/kwin/; revision=62337
2000-08-31 17:20:45 +00:00
Matthias Ettrich
d7472a2387 reset desktop property on withdraw
svn path=/trunk/kdebase/kwin/; revision=57550
2000-07-17 17:10:00 +00:00
Charles Samuels
2c0910a283 take a look. it handles notifications now! :)
remove $KDEHOME/share/apps/kwin/eventsrc first, do a fresh make install
here, and hit the sticky button ;)

the little pop sound is made by a microphone and me! :)

svn path=/trunk/kdebase/kwin/; revision=52665
2000-06-08 23:44:41 +00:00
Charles Samuels
ee137a0ad7 CVS_SILENT
this is how it should be. I mean it this time!

svn path=/trunk/kdebase/kwin/; revision=48802
2000-05-08 04:50:20 +00:00
Charles Samuels
8f3cda3051 Undone edit to events.cpp (since I goofed on it)
svn path=/trunk/kdebase/kwin/; revision=48801
2000-05-08 04:39:12 +00:00
Charles Samuels
b772cfb65b The events are called by the section headers in eventsrc (not by "Name").
They won't be called by default since "default_presentation" is set to 0

eventsrc is just updated for a few more events.  (Some don't have proper
descriptions since I don't know what they do)

svn path=/trunk/kdebase/kwin/; revision=48785
2000-05-07 23:21:23 +00:00
Matthias Ettrich
1671d0ddc7 knotify doesn't seem to be usable
svn path=/trunk/kdebase/kwin/; revision=48779
2000-05-07 23:05:46 +00:00
Matthias Ettrich
6a36c54a7f Kwin raises the following sound events via KNotifyClient:
"Window Close"
	 "Window Iconify"
                  "Window DeIconify"
                  "Window Maximize"
                  "Window UnMaximize"
                  "Window Sticky"
                  "Window UnSticky"
                  "Window New"
                  "Window Delete"
                  "Window Trans New"
                  "Window Trans Delete"
                  "Window Shade Up"
                  "Window Shade Down"
                  "Window Move Start"
                  "Window Move End"
                  "Window Resize Start"
                  "Window Resize End"

svn path=/trunk/kdebase/kwin/; revision=48752
2000-05-07 20:38:11 +00:00