CREATE_(OB_CONFIG_FILE);
CREATE_(OB_WM_ACTION_UNDECORATE);
CREATE_(OB_WM_STATE_UNDECORATED);
+ CREATE_(OB_LAST_DESKTOP);
CREATE_(OB_CONTROL);
}
OBT_PROP_OPENBOX_PID, /* this is depreecated in favour of ob_control */
OBT_PROP_OB_THEME,
OBT_PROP_OB_CONFIG_FILE,
+ OBT_PROP_OB_LAST_DESKTOP,
OBT_PROP_OB_CONTROL,
OBT_PROP_NUM_ATOMS
else
screen_set_desktop(MIN(config_screen_firstdesk,
screen_num_desktops) - 1, FALSE);
- screen_last_desktop = screen_desktop;
+ OBT_PROP_GET32(obt_root(ob_screen), OB_LAST_DESKTOP, CARDINAL, &screen_last_desktop);
+ if (screen_last_desktop < 0 || screen_last_desktop >= screen_num_desktops) {
+ screen_last_desktop = screen_desktop;
+ OBT_PROP_SET32(obt_root(ob_screen), OB_LAST_DESKTOP, CARDINAL, screen_last_desktop);
+ }
/* don't start in showing-desktop mode */
screen_showing_desktop = FALSE;
static gboolean last_desktop_func(gpointer data)
{
screen_desktop_timeout = TRUE;
+ OBT_PROP_SET32(obt_root(ob_screen), OB_LAST_DESKTOP, CARDINAL, screen_last_desktop);
return FALSE;
}