diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-05-13 15:40:16 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-05-13 15:40:16 +0000 |
| commit | c23741290c139dbdd492705fa420ddb2cb5db867 (patch) | |
| tree | b6ca35955ffbd52b8c73d68f5c0ec740d66a7fc4 /openbox | |
| parent | 56d7bc50f0da9fe694b20751fa67aaa7e9158967 (diff) | |
fix directional focus
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/focus.c | 9 |
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 |
