a = screen_physical_area_monitor(0);
icon_popup_position(focus_cycle_popup, CenterGravity,
a->x + a->width / 2, a->y + a->height / 2);
-/* icon_popup_size(focus_cycle_popup, a->height/2, a->height/16);
- icon_popup_show(focus_cycle_popup, c->title,
- client_icon(c, a->height/16, a->height/16));
-*/
- /* XXX the size and the font extents need to be related on some level
- */
- icon_popup_size(focus_cycle_popup, POPUP_WIDTH, POPUP_HEIGHT);
+ icon_popup_width(focus_cycle_popup, MAX(a->width/3, POPUP_WIDTH));
+ icon_popup_height(focus_cycle_popup, POPUP_HEIGHT);
/* use the transient's parent's title/icon */
while (p->transient_for && p->transient_for != OB_TRAN_GROUP)
else
ok = (ft->type == OB_CLIENT_TYPE_NORMAL ||
ft->type == OB_CLIENT_TYPE_DIALOG ||
- (!client_has_group_siblings(ft) &&
+ (!client_has_application_group_siblings(ft) &&
(ft->type == OB_CLIENT_TYPE_TOOLBAR ||
ft->type == OB_CLIENT_TYPE_MENU ||
ft->type == OB_CLIENT_TYPE_UTILITY)));
ok = ok && (ft->can_focus || ft->focus_notify);
- ok = ok && !ft->skip_pager;
+ if (!dock_windows) /* use dock windows that skip taskbar too */
+ ok = ok && !ft->skip_taskbar;
ok = ok && (ft->desktop == screen_desktop || ft->desktop == DESKTOP_ALL);
ok = ok && ft == client_focus_target(ft);
return ok;
void focus_order_remove(ObClient *c)
{
focus_order = g_list_remove(focus_order, c);
- if (c == focus_client)
- focus_client = NULL;
}
void focus_order_to_top(ObClient *c)