X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.c;h=93ee2c1475e598f63de8f59fa7864773d345f731;hb=a7f65a818c48e272aa9c8c49f2339b46b794078e;hp=a32f649f0a5348a64c33d00f31dce70ac9fa1157;hpb=857245960e4a35f9307f1b6124a4b7b4e726298b;p=chaz%2Fopenbox diff --git a/openbox/screen.c b/openbox/screen.c index a32f649f..93ee2c14 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -328,13 +328,13 @@ void screen_startup(gboolean reconfig) net_current_desktop, cardinal, &d) && d < screen_num_desktops) { - screen_set_desktop(d); + screen_set_desktop(d, FALSE); } else if (session_desktop >= 0) screen_set_desktop(MIN((guint)session_desktop, - screen_num_desktops)); + screen_num_desktops), FALSE); else screen_set_desktop(MIN(config_screen_firstdesk, - screen_num_desktops) - 1); + screen_num_desktops) - 1, FALSE); /* don't start in showing-desktop mode */ screen_showing_desktop = FALSE; @@ -442,10 +442,10 @@ void screen_set_num_desktops(guint num) /* change our desktop if we're on one that no longer exists! */ if (screen_desktop >= screen_num_desktops) - screen_set_desktop(num - 1); + screen_set_desktop(num - 1, TRUE); } -void screen_set_desktop(guint num) +void screen_set_desktop(guint num, gboolean dofocus) { ObClient *c; GList *it; @@ -487,7 +487,7 @@ void screen_set_desktop(guint num) /* have to try focus here because when you leave an empty desktop there is no focus out to watch for */ - if ((c = focus_fallback_target(TRUE, focus_client))) { + if (dofocus && (c = focus_fallback_target(TRUE, focus_client))) { /* reduce flicker by hiliting now rather than waiting for the server FocusIn event */ frame_adjust_focus(c->frame, TRUE);