X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.c;h=5201f78a1d27a9da1c3c2faeb77f82290f896a49;hb=c313b219a226c3b968ff312b96120eef0c527d91;hp=da490778357a81d5e54ab73d383d31f7bf9fd628;hpb=86a95d84401562b628a570f34baaad8e8d03487b;p=chaz%2Fopenbox diff --git a/openbox/screen.c b/openbox/screen.c index da490778..5201f78a 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -620,10 +620,15 @@ void screen_set_desktop(guint num, gboolean dofocus) /* If screen_desktop_timeout is true, then we've been on this desktop long enough and we can save it as the last desktop. */ - /* save the "last desktop" as the "old desktop" */ - screen_old_desktop = screen_last_desktop; - /* save the desktop we're coming from as the "last desktop" */ - screen_last_desktop = previous; + if (screen_last_desktop == previous) + /* this is the startup state only */ + screen_old_desktop = screen_desktop; + else { + /* save the "last desktop" as the "old desktop" */ + screen_old_desktop = screen_last_desktop; + /* save the desktop we're coming from as the "last desktop" */ + screen_last_desktop = previous; + } } else { /* If screen_desktop_timeout is false, then we just got to this desktop