all repos — openbox @ 44be67844a5568e8b1ad87327b0815f8667151c0

openbox fork - make it a bit more like ryudo

don't reload the session on restart
Dana Jansens danakj@orodu.net
commit

44be67844a5568e8b1ad87327b0815f8667151c0

parent

b8f207892a11b53365c47b4828254269fca5c8e9

3 files changed, 16 insertions(+), 5 deletions(-)

jump to
M openbox/openbox.copenbox/openbox.c

@@ -92,6 +92,7 @@ gboolean ob_replace_wm = FALSE;

gboolean ob_sm_use = TRUE; gchar *ob_sm_id = NULL; gchar *ob_sm_save_file = NULL; +gboolean ob_sm_restore = TRUE; gboolean ob_debug_xinerama = FALSE; static ObState state;

@@ -396,12 +397,13 @@ g_error_free(err);

} } - /* we remove the session arguments from argv, so put them back */ + /* we remove the session arguments from argv, so put them back, + also don't restore the session on restart */ if (ob_sm_save_file != NULL || ob_sm_id != NULL) { gchar **nargv; gint i, l; - l = argc + + l = argc + 1 + (ob_sm_save_file != NULL ? 2 : 0) + (ob_sm_id != NULL ? 2 : 0); nargv = g_new0(gchar*, l+1);

@@ -416,6 +418,7 @@ if (ob_sm_id != NULL) {

nargv[i++] = g_strdup("--sm-client-id"); nargv[i++] = ob_sm_id; } + nargv[i++] = g_strdup("--sm-no-load"); g_assert(i == l); argv = nargv; }

@@ -571,6 +574,11 @@ }

} else if (!strcmp(argv[i], "--sm-disable")) { ob_sm_use = FALSE; + } + else if (!strcmp(argv[i], "--sm-no-load")) { + ob_sm_restore = FALSE; + remove_args(argc, argv, i, 1); + --i; /* this arg was removed so go back */ } else { /* this is a memleak.. oh well.. heh */
M openbox/openbox.hopenbox/openbox.h

@@ -45,6 +45,7 @@ extern gchar *ob_sm_id;

/* This save_file will get pass to ourselves if we restart too! So we won't make a new file every time, yay. */ extern gchar *ob_sm_save_file; +extern gboolean ob_sm_restore; extern gboolean ob_replace_wm; extern gboolean ob_debug_xinerama;
M openbox/session.copenbox/session.c

@@ -102,9 +102,11 @@ dir, g_strerror(errno));

} if (ob_sm_save_file != NULL) { - ob_debug_type(OB_DEBUG_SM, "Loading from session file %s\n", - ob_sm_save_file); - session_load_file(ob_sm_save_file); + if (ob_sm_restore) { + ob_debug_type(OB_DEBUG_SM, "Loading from session file %s\n", + ob_sm_save_file); + session_load_file(ob_sm_save_file); + } } else { gchar *filename;