diff options
author | markt <markt> | 2006-07-04 06:42:28 (GMT) |
---|---|---|
committer | markt <markt> | 2006-07-04 06:42:28 (GMT) |
commit | 1cc6cc4b150c6be59fa7c896287ed2c292997641 (patch) | |
tree | 8d8cccd8505108705e476b47b9704c17aeb731ec | |
parent | 6cd9ad46cc0d9660a4e582ee5e61a97c68782f1d (diff) | |
download | fluxbox-1cc6cc4b150c6be59fa7c896287ed2c292997641.zip fluxbox-1cc6cc4b150c6be59fa7c896287ed2c292997641.tar.bz2 |
new windows don't steal focus from fullscreen windows
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/Window.cc | 11 |
2 files changed, 13 insertions, 2 deletions
@@ -1,5 +1,9 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 1.0rc3: | 2 | Changes for 1.0rc3: |
3 | *06/07/04: | ||
4 | * New windows don't steal focus from fullscreen windows; instead, flash the | ||
5 | titlebar and iconbar button (Mark) | ||
6 | Window.cc | ||
3 | *06/07/03: | 7 | *06/07/03: |
4 | * fix+improve handling of window gravity, was very broken (Simon) | 8 | * fix+improve handling of window gravity, was very broken (Simon) |
5 | - caused (among others) windows with gravity set to get relocated | 9 | - caused (among others) windows with gravity set to get relocated |
diff --git a/src/Window.cc b/src/Window.cc index abbe6d5..39f82b6 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -2478,9 +2478,16 @@ void FluxboxWindow::mapNotifyEvent(XMapEvent &ne) { | |||
2478 | 2478 | ||
2479 | setState(NormalState, false); | 2479 | setState(NormalState, false); |
2480 | 2480 | ||
2481 | if (client->isTransient() || screen().focusControl().focusNew()) | 2481 | if (client->isTransient()) |
2482 | setCurrentClient(*client, true); | 2482 | setCurrentClient(*client, true); |
2483 | else | 2483 | else if (screen().focusControl().focusNew()) { |
2484 | FluxboxWindow *cur = FocusControl::focusedFbWindow(); | ||
2485 | if (cur && cur->isFullscreen()) { | ||
2486 | setFocusFlag(false); | ||
2487 | Fluxbox::instance()->attentionHandler().addAttention(*client); | ||
2488 | } else | ||
2489 | setCurrentClient(*client, true); | ||
2490 | } else | ||
2484 | setFocusFlag(false); | 2491 | setFocusFlag(false); |
2485 | 2492 | ||
2486 | iconic = false; | 2493 | iconic = false; |