summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-13 15:40:16 +0000
committerDana Jansens <danakj@orodu.net>2007-05-13 15:40:16 +0000
commitc23741290c139dbdd492705fa420ddb2cb5db867 (patch)
treeb6ca35955ffbd52b8c73d68f5c0ec740d66a7fc4 /openbox
parent56d7bc50f0da9fe694b20751fa67aaa7e9158967 (diff)
fix directional focus
Diffstat (limited to 'openbox')
-rw-r--r--openbox/focus.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index 00759514..b084d357 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -743,10 +743,13 @@ static ObClient *focus_find_directional(ObClient *c, ObDirection dir,
/* the currently selected window isn't interesting */
if(cur == c)
continue;
- if (!dock_windows && !desktop_windows && !client_normal(cur))
+ if (cur->type == OB_CLIENT_TYPE_DOCK && !dock_windows)
continue;
- if (!(dock_windows && cur->type == OB_CLIENT_TYPE_DOCK) ||
- (desktop_windows && cur->type == OB_CLIENT_TYPE_DESKTOP))
+ if (cur->type == OB_CLIENT_TYPE_DESKTOP && !desktop_windows)
+ continue;
+ if (!client_normal(cur) &&
+ cur->type != OB_CLIENT_TYPE_DOCK &&
+ cur->type != OB_CLIENT_TYPE_DESKTOP)
continue;
/* using c->desktop instead of screen_desktop doesn't work if the
* current window was omnipresent, hope this doesn't have any other