summaryrefslogtreecommitdiff
path: root/openbox/focus.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-08-04 23:35:36 -0400
committerDana Jansens <danakj@orodu.net>2007-08-04 23:35:36 -0400
commitf55ae9e56945892825928cfb021b5e739d0d5224 (patch)
tree19a26efae2532bc046160289adca8a8dc45ac3a7 /openbox/focus.c
parent98b9ed97ebbcf22185359c8f6f1d539a105cd258 (diff)
parentfa085b73389de3af8236919f4e39c4c20d16ed7c (diff)
Merge branch 'backport'
Diffstat (limited to 'openbox/focus.c')
-rw-r--r--openbox/focus.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index 0dafd799..b056db7e 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -159,7 +159,7 @@ static ObClient* focus_fallback_target(gboolean allow_refocus,
}
ObClient* focus_fallback(gboolean allow_refocus, gboolean allow_pointer,
- gboolean allow_omnipresent)
+ gboolean allow_omnipresent, gboolean focus_lost)
{
ObClient *new;
ObClient *old = focus_client;
@@ -167,7 +167,8 @@ ObClient* focus_fallback(gboolean allow_refocus, gboolean allow_pointer,
/* unfocus any focused clients.. they can be focused by Pointer events
and such, and then when we try focus them, we won't get a FocusIn
event at all for them. */
- focus_nothing();
+ if (focus_lost)
+ focus_nothing();
new = focus_fallback_target(allow_refocus, allow_pointer,
allow_omnipresent, old);