diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-04-22 14:16:33 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-04-22 14:16:33 +0000 |
| commit | 48f237203b8766e7d13af3f6e2d5deecc14b6651 (patch) | |
| tree | 8c2f872b698c350b479781c9ffb5d626d5c04055 | |
| parent | ff43372da760c84e92ca7a7e9648d09fcfba2cf0 (diff) | |
start on the current desktop when a wm was already running
| -rw-r--r-- | openbox/screen.c | 12 |
1 files changed, 10 insertions, 2 deletions
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; |
