From: Dana Jansens Date: Thu, 9 Oct 2003 19:29:42 +0000 (+0000) Subject: smarter avoidance of windows in the focus cycling stuff, doesnt cycle to util windows X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;h=e5f8c683da20123a5642cc4450c9a0177a191c15;p=chaz%2Fopenbox smarter avoidance of windows in the focus cycling stuff, doesnt cycle to util windows --- 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)));