diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-03-14 21:15:58 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-03-14 21:15:58 +0000 |
| commit | 83d987d9abb9e15b7c6f41fdb29e4f6a0bf200f9 (patch) | |
| tree | 86d89c468380abadb672267e0e67ac3bb5622f0c | |
| parent | c80b496bf407d73bea169058abfcda44effad0dd (diff) | |
don't fall back focus to omnipresent windows
| -rw-r--r-- | openbox/focus.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/openbox/focus.c b/openbox/focus.c index 4be187b9..07ac963c 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -242,13 +242,15 @@ ObClient* focus_fallback_target(gboolean allow_refocus, ObClient *old) focus off to nothing 2. it is validated. if the window is about to disappear, then don't try focus it. - 3. it is visible on the screen right now. - 4. it is a normal type window, don't fall back onto a dock or + 3. it is visible on the current desktop. this ignores + omnipresent windows, which are problematic in their own rite. + 4. it's not iconic + 5. it is a normal type window, don't fall back onto a dock or a splashscreen or a desktop window (save the desktop as a backup fallback though) */ if (client_can_focus(c) && client_validate(c) && - client_should_show(c)) + c->desktop == screen_desktop && !c->iconic) { if (client_normal(c)) { ob_debug("found in focus order\n"); |
