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 /src | |
parent | 6cd9ad46cc0d9660a4e582ee5e61a97c68782f1d (diff) | |
download | fluxbox_lack-1cc6cc4b150c6be59fa7c896287ed2c292997641.zip fluxbox_lack-1cc6cc4b150c6be59fa7c896287ed2c292997641.tar.bz2 |
new windows don't steal focus from fullscreen windows
Diffstat (limited to 'src')
-rw-r--r-- | src/Window.cc | 11 |
1 files changed, 9 insertions, 2 deletions
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; |