X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Ffocus.c;h=283294296b444c2c4a7394a407c97b5b40710f06;hb=615cbd96075905d75533f9b615c4ee6a75f4f9a4;hp=1642261dac685967365b8aaf3889c79980498436;hpb=79e189dbac9ec5ae5baed26515ee60b8dce9a079;p=chaz%2Fopenbox diff --git a/openbox/focus.c b/openbox/focus.c index 1642261d..28329429 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -190,6 +190,7 @@ void focus_fallback(ObFocusFallbackType type) } } +#if 0 /* try for group relations */ if (old->group) { GSList *sit; @@ -204,6 +205,7 @@ void focus_fallback(ObFocusFallbackType type) return; } } +#endif } for (it = focus_order[screen_desktop]; it != NULL; it = it->next) @@ -262,7 +264,7 @@ static void popup_cycle(ObClient *c, gboolean show) } ObClient *focus_cycle(gboolean forward, gboolean linear, gboolean done, - gboolean cancel) + gboolean cancel) { static ObClient *first = NULL; static ObClient *t = NULL; @@ -278,11 +280,9 @@ ObClient *focus_cycle(gboolean forward, gboolean linear, gboolean done, goto done_cycle; } else if (done) { if (focus_cycle_target) - client_activate(focus_cycle_target); + client_activate(focus_cycle_target, FALSE); goto done_cycle; } - if (!first) - grab_pointer(TRUE, None); if (!first) first = focus_client; if (!focus_cycle_target) focus_cycle_target = focus_client; @@ -311,6 +311,7 @@ ObClient *focus_cycle(gboolean forward, gboolean linear, gboolean done, desktop */ if (ft->transients == NULL && client_normal(ft) && ((ft->can_focus || ft->focus_notify) && + !ft->skip_taskbar && (ft->desktop == screen_desktop || ft->desktop == DESKTOP_ALL))) { if (ft != focus_cycle_target) { /* prevents flicker */ if (focus_cycle_target) @@ -331,7 +332,6 @@ done_cycle: order = NULL; popup_cycle(ft, FALSE); - grab_pointer(FALSE, None); return NULL; }