summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-03-14 21:15:58 +0000
committerDana Jansens <danakj@orodu.net>2007-03-14 21:15:58 +0000
commit83d987d9abb9e15b7c6f41fdb29e4f6a0bf200f9 (patch)
tree86d89c468380abadb672267e0e67ac3bb5622f0c
parentc80b496bf407d73bea169058abfcda44effad0dd (diff)
don't fall back focus to omnipresent windows
-rw-r--r--openbox/focus.c8
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");