X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.c;h=08b2d74036dc663f625d3b77be2eb2f8004df586;hb=5d5156dcb3a18a271880b16f951d83bfda0fed03;hp=381753ae9d8fcc67e4b4e9eeca0c298b06bda11a;hpb=ad8e8d4988b515ff690564588983eeedf3f238f4;p=chaz%2Fopenbox diff --git a/openbox/screen.c b/openbox/screen.c index 381753ae..08b2d740 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -368,6 +368,7 @@ void screen_startup(gboolean reconfig) else screen_set_num_desktops(config_desktops_num); + screen_desktop = screen_num_desktops; /* something invalid */ /* start on the current desktop when a wm was already running */ if (PROP_GET32(RootWindow(ob_display, ob_screen), net_current_desktop, cardinal, &d) && @@ -380,6 +381,7 @@ void screen_startup(gboolean reconfig) else screen_set_desktop(MIN(config_screen_firstdesk, screen_num_desktops) - 1, FALSE); + screen_last_desktop = screen_desktop; /* don't start in showing-desktop mode */ screen_showing_desktop = FALSE; @@ -506,13 +508,13 @@ void screen_set_desktop(guint num, gboolean dofocus) g_assert(num < screen_num_desktops); + if (old == num) return; + old = screen_desktop; screen_desktop = num; PROP_SET32(RootWindow(ob_display, ob_screen), net_current_desktop, cardinal, num); - if (old == num) return; - screen_last_desktop = old; ob_debug("Moving to desktop %d\n", num+1); @@ -936,7 +938,7 @@ void screen_update_desktop_names() it = g_slist_nth(config_desktops_names, i); for (; i < screen_num_desktops; ++i) { - if (it) + if (it && ((char*)it->data)[0]) /* not empty */ /* use the names from the config file when possible */ screen_desktop_names[i] = g_strdup(it->data); else