X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.c;h=2d34f2632cd07060886f94b0dd0e6f16167999a5;hb=037654f3f89dcf07aba1b49b9f03a8187adeaa73;hp=d5d61f507e643feaaf146fdb985aeaf2ff1b54fb;hpb=63f1b1230c529c2c2b335a4becfae5cd15c0d9a4;p=chaz%2Fopenbox diff --git a/openbox/screen.c b/openbox/screen.c index d5d61f50..2d34f263 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -300,8 +300,16 @@ void screen_startup(gboolean reconfig) screen_num_desktops = 0; screen_set_num_desktops(config_desktops_num); if (!reconfig) { - screen_set_desktop(MIN(config_screen_firstdesk, screen_num_desktops) - - 1); + guint32 d; + /* start on the current desktop when a wm was already running */ + if (PROP_GET32(RootWindow(ob_display, ob_screen), + net_current_desktop, cardinal, &d) && + d < screen_num_desktops) + { + screen_set_desktop(d); + } else + screen_set_desktop(MIN(config_screen_firstdesk, + screen_num_desktops) - 1); /* don't start in showing-desktop mode */ screen_showing_desktop = FALSE;