X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Ffocus.c;h=6f5b04d12a124fb9053133b693a363f85d01795d;hb=ac779e65ac243e44bde4a3eaf11736e2671d7a2d;hp=4fa123cbaf594ffb13493281ac92536632024669;hpb=380ddd2b9cd2ffd8d286855b0670e58a553b2b3d;p=chaz%2Fopenbox diff --git a/openbox/focus.c b/openbox/focus.c index 4fa123cb..6f5b04d1 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -40,8 +40,7 @@ void focus_startup() -100, -100, 1, 1, 0, CopyFromParent, InputOutput, CopyFromParent, CWOverrideRedirect, &attrib); - XMapWindow(ob_display, focus_backup); - stacking_raise_internal(focus_backup); + XMapRaised(ob_display, focus_backup); /* start with nothing focused */ focus_set_client(NULL); @@ -268,16 +267,13 @@ Client *focus_cycle(gboolean forward, gboolean linear, gboolean done, frame_adjust_focus(focus_client->frame, TRUE); goto done_cycle; } else if (done) { - if (focus_cycle_target) { - if (focus_cycle_target->iconic) - client_iconify(focus_cycle_target, FALSE, FALSE); - if (focus_cycle_target->shaded) - client_shade(focus_cycle_target, FALSE); - client_focus(focus_cycle_target); - stacking_raise(focus_cycle_target); - } + if (focus_cycle_target) + client_activate(focus_cycle_target); goto done_cycle; } + if (!first) + grab_pointer(TRUE, None); + if (!first) first = focus_client; if (!focus_cycle_target) focus_cycle_target = focus_client; @@ -319,7 +315,10 @@ done_cycle: focus_cycle_target = NULL; g_list_free(order); order = NULL; + popup_cycle(ft, FALSE); + grab_pointer(FALSE, None); + return NULL; }