summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-13 05:50:15 +0000
committerDana Jansens <danakj@orodu.net>2007-05-13 05:50:15 +0000
commit41da12cc5ee1fa03361943dc1ab3e9efcebd29f6 (patch)
tree0f9788a7128168616dd347a039f98103bb29dade /openbox
parentbfe974dbd06fac507147701c8c7de4c8249b0a25 (diff)
maybe better logic for looking for focus in's on clients
Diffstat (limited to 'openbox')
-rw-r--r--openbox/event.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/openbox/event.c b/openbox/event.c
index eac312df..699dfdd1 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -300,10 +300,15 @@ static gboolean wanted_focusevent(XEvent *e, gboolean in_client_only)
/* These are the ones we want.. */
- if (win == RootWindow(ob_display, ob_screen) && !in_client_only) {
+ if (win == RootWindow(ob_display, ob_screen)) {
+ /* If looking for a focus in on a client, then always return
+ FALSE for focus in's to the root window */
+ if (in_client_only)
+ return FALSE;
/* This means focus reverted off of a client */
- if (detail == NotifyPointerRoot || detail == NotifyDetailNone ||
- detail == NotifyInferior)
+ else if (detail == NotifyPointerRoot ||
+ detail == NotifyDetailNone ||
+ detail == NotifyInferior)
return TRUE;
else
return FALSE;