X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fscreen.c;h=1295ccaae1f33196b7b4e0814fed9e2d1673ba3b;hb=ec4c9b0c1f22eee6ded4578c9448fab353b010cf;hp=f999a34b1dddf7dd32e828f6457747d38bc5c389;hpb=c9ef2f0118297201729b517a87590729125bb608;p=chaz%2Fopenbox diff --git a/openbox/screen.c b/openbox/screen.c index f999a34b..1295ccaa 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -398,7 +398,6 @@ void screen_set_desktop(guint num) { GList *it; guint old; - XEvent e; g_assert(num < screen_num_desktops); @@ -436,17 +435,8 @@ void screen_set_desktop(guint num) } } - XSync(ob_display, FALSE); - /* focus the last focused window on the desktop, and ignore enter events - from the switch so it doesnt mess with the focus */ - while (XCheckTypedEvent(ob_display, EnterNotify, &e)); -#ifdef DEBUG_FOCUS - ob_debug("switch fallback\n"); -#endif - focus_fallback(OB_FOCUS_FALLBACK_DESKTOP); -#ifdef DEBUG_FOCUS - ob_debug("/switch fallback\n"); -#endif + if (!focus_client) + focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS); } static void get_row_col(guint d, guint *r, guint *c) @@ -738,7 +728,7 @@ void screen_update_layout() if (rows * cols >= screen_num_desktops + cols) rows--; } else if (rows == 0) { - rows = screen_num_desktops / rows; + rows = screen_num_desktops / cols; if (cols * rows < screen_num_desktops) rows++; if (cols * rows >= screen_num_desktops + rows)