X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Ffocus_cycle.c;h=ca299c6711833802493aebe64b57a468d0e84e6a;hb=33fe8d4470272db6cead0c550d32f5db99e285b7;hp=bfbc272315e180ed00edf8f3769b771ef6ea22da;hpb=e215fc0110de170fb69325b0b79b735ad80529fa;p=chaz%2Fopenbox diff --git a/openbox/focus_cycle.c b/openbox/focus_cycle.c index bfbc2723..ca299c67 100644 --- a/openbox/focus_cycle.c +++ b/openbox/focus_cycle.c @@ -44,10 +44,6 @@ static ObClient *focus_find_directional (ObClient *c, ObDirection dir, gboolean dock_windows, gboolean desktop_windows); -static ObClient *focus_find_directional (ObClient *c, - ObDirection dir, - gboolean dock_windows, - gboolean desktop_windows); void focus_cycle_startup(gboolean reconfig) { @@ -89,7 +85,7 @@ static gboolean focus_target_has_siblings(ObClient *ft, for (it = ft->group->members; it; it = g_slist_next(it)) { ObClient *c = it->data; /* check that it's not a helper window to avoid infinite recursion */ - if (c != ft && !client_helper(c) && + if (c != ft && c->type == OB_CLIENT_TYPE_NORMAL && focus_cycle_target_valid(c, iconic_windows, all_desktops, FALSE, FALSE)) { @@ -131,7 +127,7 @@ gboolean focus_cycle_target_valid(ObClient *ft, ok = ok && ((client_normal(ft) && !client_helper(ft)) || - /* helper windows are valid targets it... */ + /* helper windows are valid targets if... */ (client_helper(ft) && /* ...a window in its group already has focus ... */ ((focus_client && ft->group == focus_client->group) || @@ -346,9 +342,10 @@ static ObClient *focus_find_directional(ObClient *c, ObDirection dir, if (offset > distance) score += 1000000; - if (best_score == -1 || score < best_score) - best_client = cur, - best_score = score; + if (best_score == -1 || score < best_score) { + best_client = cur; + best_score = score; + } } return best_client; @@ -405,15 +402,14 @@ void focus_directional_cycle(ObDirection dir, gboolean dock_windows, focus_cycle_draw_indicator(ft); } } - if (focus_cycle_target && dialog) { + if (focus_cycle_target && dialog) /* same arguments as focus_target_valid */ focus_cycle_popup_single_show(focus_cycle_target, focus_cycle_iconic_windows, focus_cycle_all_desktops, focus_cycle_dock_windows, focus_cycle_desktop_windows); - return; - } + return; done_cycle: if (done && focus_cycle_target)