diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-10-09 19:29:42 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-10-09 19:29:42 +0000 |
| commit | e5f8c683da20123a5642cc4450c9a0177a191c15 (patch) | |
| tree | 5942aaa2343d68d9fc57680d44bfbda104cf64e8 /openbox | |
| parent | b84a934ab7b3ebd68b8b90961146463ac17d396e (diff) | |
smarter avoidance of windows in the focus cycling stuff, doesnt cycle to util windows
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/focus.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/openbox/focus.c b/openbox/focus.c index 44f8edb2..5d0d4d41 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -485,6 +485,11 @@ void focus_cycle_draw_indicator() a_focus_indicator->texture[3].data.lineart.y2 = 0; RrPaint(a_focus_indicator, focus_indicator.bottom.win, w, h); + + XMapWindow(ob_display, focus_indicator.top.win); + XMapWindow(ob_display, focus_indicator.left.win); + XMapWindow(ob_display, focus_indicator.right.win); + XMapWindow(ob_display, focus_indicator.bottom.win); } } @@ -494,7 +499,13 @@ static gboolean valid_focus_target(ObClient *ft) focus an iconic window, but we want to be able to, so we just check if the focus flags on the window allow it, and its on the current desktop */ - return (!ft->transients && client_normal(ft) && + return ((ft->type == OB_CLIENT_TYPE_NORMAL || + ft->type == OB_CLIENT_TYPE_DIALOG || + (!client_has_group_siblings(ft) && + (ft->type == OB_CLIENT_TYPE_TOOLBAR || + ft->type == OB_CLIENT_TYPE_MENU || + ft->type == OB_CLIENT_TYPE_UTILITY))) && + !ft->transients && ((ft->can_focus || ft->focus_notify) && !ft->skip_taskbar && (ft->desktop == screen_desktop || ft->desktop == DESKTOP_ALL))); |
