Commit graph

53 commits

Author SHA1 Message Date
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
7d49e2a4a0 When activating a modal instead of its mainwindow, raise also the modal
if needed - some transients are not kept above their mainwindows, e.g. for docks.


svn path=/trunk/KDE/kdebase/kwin/; revision=411857
2005-05-10 09:03:41 +00:00
Luboš Luňák
d4c5fd676a Show the desktop switch popupinfo also when using mouse, and whatever.
BUG: 80698


svn path=/trunk/KDE/kdebase/kwin/; revision=409960
2005-05-06 09:24:51 +00:00
Luboš Luňák
a950f75673 When activation is forced, always request focus for the window, even
with unreasonable focus policies. Fixes focusing kicker applets.
BUG: 96028

svn path=/trunk/kdebase/kwin/; revision=399988
2005-03-23 13:49:50 +00:00
Thomas Lübking
7eff49ed22 BUGS:99836
better opacity handling of modal windows and their transientFor()s

svn path=/trunk/kdebase/kwin/; revision=391550
2005-02-20 23:06:11 +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
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
05e9a39a60 Lame mistake.
BUG: 91766

svn path=/trunk/kdebase/kwin/; revision=356778
2004-10-22 12:51:37 +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
0d8883e74a Don't refuse activation with focus stealing prevention turned off
(#48786, comment 11).

svn path=/trunk/kdebase/kwin/; revision=338306
2004-08-16 13:49:47 +00:00
Luboš Luňák
dd55eaf1fa Fix FSP with showing on a different desktop.
svn path=/trunk/kdebase/kwin/; revision=322444
2004-06-21 12:40:43 +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
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
76f21da02b KWin rule for adjusting focus stealing prevention level.
svn path=/trunk/kdebase/kwin/; revision=318991
2004-06-09 08:29:35 +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
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
75029e652b *cough*
svn path=/trunk/kdebase/kwin/; revision=305634
2004-04-22 16:52:24 +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
4bf13f6f8f Make Shift+MMB in Konqy work even with no focus stealing prevention.
svn path=/trunk/kdebase/kwin/; revision=304844
2004-04-19 09:29:53 +00:00
Luboš Luňák
bf30a6995d Fix Shift+MMB in Konqy not working right.
svn path=/trunk/kdebase/kwin/; revision=304205
2004-04-16 11:46:21 +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
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
454648b78b Uh oh, looks like this code missed one renumbering of the levels :(.
(#74546)

svn path=/trunk/kdebase/kwin/; revision=293157
2004-03-02 17:43:46 +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
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
f4ee84d509 When activating a modal dialog instead of a mainwindow, and the mainwindow
is on all desktops, don't force the modal dialog to be on all desktops too.

svn path=/trunk/kdebase/kwin/; revision=289318
2004-02-19 09:52:51 +00:00
Luboš Luňák
4dabc236c8 Use debug area.
svn path=/trunk/kdebase/kwin/; revision=288752
2004-02-17 17:17:06 +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
39e48b3b8d #48786 (comments #7 and later) - focus stealing prevention doesn't work
well with unreasonable focus policies -> disabled.

svn path=/trunk/kdebase/kwin/; revision=284526
2004-02-02 17:02:11 +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
581fa5f585 Fix focus stealing prevention during kontact startup, with tips dialog
enabled.

svn path=/trunk/kdebase/kwin/; revision=277883
2004-01-08 16:18:07 +00:00
Luboš Luňák
f4b4647fc3 kwinrc option for listing applications for which focus stealing prevention
should not be used. I have a strange feeling it will come handy :-/.

svn path=/trunk/kdebase/kwin/; revision=273127
2003-12-15 13:33:29 +00:00
Luboš Luňák
0b8ee9a5e4 When comparing window requesting activation (i.e. focus stealing prevention),
don't use Workspace::activeClient() as the active client, but instead
the most recent should_get_focus client - that may make a difference
if a window was just activated, but the matching FocusIn event that'll
make it to be activeClient() wasn't yet processes. Visible with apps
that show several windows at the same time after startup.

svn path=/trunk/kdebase/kwin/; revision=270831
2003-12-02 17:52:10 +00:00
Luboš Luňák
0654c0d3b7 Don't compare with itself when searching for other windows belonging to the app.
svn path=/trunk/kdebase/kwin/; revision=269295
2003-11-24 14:25:47 +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
984c76f0c1 More shade related changes.
svn path=/trunk/kdebase/kwin/; revision=257727
2003-10-10 13:00:26 +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
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
1d87270bb3 Make a difference between fake session data ('save window settings')
and real SM session data.

svn path=/trunk/kdebase/kwin/; revision=256757
2003-10-06 14:40:19 +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
a3767f483a Fix timestamp before restoring focus - FocusIn event has no timestamp :(.
svn path=/trunk/kdebase/kwin/; revision=254891
2003-09-29 15:56:07 +00:00
Luboš Luňák
720b988790 Configurable focus stealing prevention aggressivity.
svn path=/trunk/kdebase/kwin/; revision=254817
2003-09-29 11:23:14 +00:00