smarter avoidance of windows in the focus cycling stuff, doesnt cycle to util windows

This commit is contained in:
Dana Jansens 2003-10-09 19:29:42 +00:00
parent b84a934ab7
commit e5f8c683da

View file

@ -485,6 +485,11 @@ void focus_cycle_draw_indicator()
a_focus_indicator->texture[3].data.lineart.y2 = 0; a_focus_indicator->texture[3].data.lineart.y2 = 0;
RrPaint(a_focus_indicator, focus_indicator.bottom.win, RrPaint(a_focus_indicator, focus_indicator.bottom.win,
w, h); 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 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 if the focus flags on the window allow it, and its on the current
desktop */ 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->can_focus || ft->focus_notify) &&
!ft->skip_taskbar && !ft->skip_taskbar &&
(ft->desktop == screen_desktop || ft->desktop == DESKTOP_ALL))); (ft->desktop == screen_desktop || ft->desktop == DESKTOP_ALL)));