we don't need to save the config type in the session because if they dont run their DE with the openbox-*-session command, openbox won't be loaded anyhow. and if they do, they the var will be set and doesn't need to come from the session.
Dana Jansens danakj@orodu.net
3 files changed,
7 insertions(+),
40 deletions(-)
M
openbox/openbox.c
→
openbox/openbox.c
@@ -89,7 +89,6 @@ gboolean ob_replace_wm = FALSE;
gboolean ob_sm_use = TRUE; gchar *ob_sm_id = NULL; gchar *ob_sm_save_file = NULL; -gchar *ob_config_type = NULL; gboolean ob_debug_xinerama = FALSE; static ObState state;@@ -102,6 +101,7 @@ static KeyCode keys[OB_NUM_KEYS];
static gint exitcode = 0; static guint remote_control = 0; static gboolean being_replaced = FALSE; +static gchar *config_type = NULL; static void signal_handler(gint signal, gpointer data); static void remove_args(gint *argc, gchar **argv, gint index, gint num);@@ -238,15 +238,15 @@ /* start up config which sets up with the parser */
config_startup(i); /* parse/load user options */ - if (parse_load_rc(ob_config_type, &doc, &node)) { + if (parse_load_rc(config_type, &doc, &node)) { parse_tree(i, doc, node->xmlChildrenNode); parse_close(doc); } else g_message(_("Unable to find a valid config file, using some simple defaults")); - if (ob_config_type != NULL) + if (config_type != NULL) PROP_SETS(RootWindow(ob_display, ob_screen), - ob_config, ob_config_type); + ob_config, config_type); /* we're done with parsing now, kill it */ parse_shutdown(i);@@ -409,10 +409,6 @@ g_assert(i == l);
argv = nargv; } - /* we also remove some environment variables, so put them back */ - if (ob_config_type) - setenv("OPENBOX_CONFIG_NAMESPACE", ob_config_type, 1); - /* re-run me */ execvp(argv[0], argv); /* try how we were run */ execlp(argv[0], program_name, (gchar*)NULL); /* last resort */@@ -421,7 +417,6 @@
/* free stuff passed in from the command line or environment */ g_free(ob_sm_save_file); g_free(ob_sm_id); - g_free(ob_config_type); g_free(program_name); return exitcode;@@ -495,8 +490,7 @@ {
/* unset this so we don't pass it on unknowingly */ unsetenv("DESKTOP_STARTUP_ID"); - if (getenv("OPENBOX_CONFIG_NAMESPACE")) - ob_config_type = g_strdup(getenv("OPENBOX_CONFIG_NAMESPACE")); + config_type = getenv("OPENBOX_CONFIG_NAMESPACE"); } static void parse_args(gint *argc, gchar **argv)@@ -543,18 +537,6 @@ /* don't make this do anything if it's not in --help ..
} else if (!strcmp(argv[i], "--restart")) { remote_control = 2; */ - } - else if (!strcmp(argv[i], "--config-namespace")) { - if (i == *argc - 1) /* no args left */ - /* not translated cuz it's sekret */ - g_printerr("--config-namespace requires an argument\n"); - else { - ob_config_type = g_strdup(argv[i+1]); - remove_args(argc, argv, i, 2); - --i; /* this arg was removed so go back */ - ob_debug_type(OB_DEBUG_SM, "--config-namespace %s\n", - ob_sm_save_file); - } } else if (!strcmp(argv[i], "--sm-save-file")) { if (i == *argc - 1) /* no args left */
M
openbox/openbox.h
→
openbox/openbox.h
@@ -46,7 +46,6 @@ /* 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_replace_wm; -extern gchar *ob_config_type; extern gboolean ob_debug_xinerama; /* The state of execution of the window manager */
M
openbox/session.c
→
openbox/session.c
@@ -319,15 +319,12 @@
static void session_setup_restart_command() { gint i; - gint num = 4; - if (ob_config_type) num += 2; - - SmPropValue *vals = g_new(SmPropValue, sm_argc + num); + SmPropValue *vals = g_new(SmPropValue, sm_argc + 4); SmProp prop = { .name = g_strdup(SmRestartCommand), .type = g_strdup(SmLISTofARRAY8), - .num_vals = sm_argc + num, + .num_vals = sm_argc + 4, .vals = vals }; SmProp *list = ∝@@ -353,22 +350,11 @@ vals[i+3].length = strlen(ob_sm_save_file) + 1;
ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+2].value); ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+3].value); - if (ob_config_type) { - vals[i+4].value = g_strdup("--config-namespace"); - vals[i+4].length = strlen("--config-namespace") + 1; - vals[i+5].value = ob_config_type; - vals[i+5].length = strlen(ob_config_type) + 1; - ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+4].value); - ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+5].value); - } - SmcSetProperties(sm_conn, 1, &list); g_free(prop.name); g_free(prop.type); g_free(vals[i].value); g_free(vals[i+2].value); - if (ob_config_type) - g_free(vals[i+4].value); g_free(vals); }