all repos — openbox @ 064901801e8ceb7b07dbd0d27b4fecd600f7c766

openbox fork - make it a bit more like ryudo

dont go changing the session file all the time, and so then dont need to unlink so we dont end up stalling when the same session is asked for more than once.
Dana Jansens danakj@orodu.net
commit

064901801e8ceb7b07dbd0d27b4fecd600f7c766

parent

5f0d12c9d7519faa0189296133c27c849a9d9599

1 files changed, 15 insertions(+), 23 deletions(-)

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

@@ -92,17 +92,10 @@ prop_res.vals[i].value = sm_argv[i];

prop_res.vals[i].length = strlen(sm_argv[i]); } - if (save_file) { - prop_res.vals[i].value = "--sm-save-file"; - prop_res.vals[i++].length = strlen("--sm-save-file"); - prop_res.vals[i].value = save_file; - prop_res.vals[i++].length = strlen(save_file); - } else { - prop_res.vals[i].value = "--sm-client-id"; - prop_res.vals[i++].length = strlen("--sm-client-id"); - prop_res.vals[i].value = sm_id; - prop_res.vals[i++].length = strlen(sm_id); - } + prop_res.vals[i].value = "--sm-save-file"; + prop_res.vals[i++].length = strlen("--sm-save-file"); + prop_res.vals[i].value = save_file; + prop_res.vals[i++].length = strlen(save_file); props[0] = &prop_res; props[1] = &prop_cmd;

@@ -169,6 +162,17 @@ sm_sessions_path, g_strerror(errno));

if (save_file) session_load(save_file); + else { + gchar *filename; + + /* this algo is from metacity */ + filename = g_strdup_printf("%d-%d-%u.obs", + (gint) time(NULL), + (gint) getpid(), + g_random_int()); + save_file = g_build_filename(sm_sessions_path, filename, NULL); + g_free(filename); + } sm_argc = *argc; sm_argv = *argv;

@@ -315,21 +319,9 @@ }

static gboolean session_save() { - gchar *filename; FILE *f; GList *it; gboolean success = TRUE; - - if (save_file) - unlink(save_file); - - /* this algo is from metacity */ - filename = g_strdup_printf("%d-%d-%u.obs", - (gint) time(NULL), - (gint) getpid(), - g_random_int()); - save_file = g_build_filename(sm_sessions_path, filename, NULL); - g_free(filename); f = fopen(save_file, "w"); if (!f) {