From b50f141fbd0a514d121b0868559f3292715c4c11 Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Sun, 29 Apr 2007 11:00:33 +0000 Subject: [PATCH] r5014: If the filer was started with -S, ask the session manager to automatically restart it if it crashes. --- ROX-Filer/src/main.c | 1 + ROX-Filer/src/session.c | 4 +++- ROX-Filer/src/session.h | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ROX-Filer/src/main.c b/ROX-Filer/src/main.c index 45529001..5f4dc0d1 100644 --- a/ROX-Filer/src/main.c +++ b/ROX-Filer/src/main.c @@ -503,6 +503,7 @@ int main(int argc, char **argv) case 'S': new_copy = TRUE; add_default_panel_and_pinboard(body); + session_auto_respawn = TRUE; break; case 'U': diff --git a/ROX-Filer/src/session.c b/ROX-Filer/src/session.c index d8effc15..42449926 100644 --- a/ROX-Filer/src/session.c +++ b/ROX-Filer/src/session.c @@ -37,6 +37,7 @@ #define ROX_FILER_URI "http://rox.sourceforge.net/2005/interfaces/ROX-Filer" static gboolean use_0launch; +gboolean session_auto_respawn = FALSE; /* If we were started as 'rox -S' */ static void save_state(SmClient *client) { @@ -151,7 +152,8 @@ void session_init(const gchar *client_id) sc_set_list_of_array_prop(client, SmCloneCommand, (const gchar **) clone_cmd, clone_cmd[2] == NULL ? 2 : 3); - sc_set_card_prop(client, SmRestartStyleHint, SmRestartIfRunning); + sc_set_card_prop(client, SmRestartStyleHint, + session_auto_respawn ? SmRestartImmediately : SmRestartIfRunning); client->save_yourself_fn = &save_yourself; client->shutdown_cancelled_fn = NULL; diff --git a/ROX-Filer/src/session.h b/ROX-Filer/src/session.h index fc7db5bf..7734996a 100644 --- a/ROX-Filer/src/session.h +++ b/ROX-Filer/src/session.h @@ -10,6 +10,8 @@ #include #include +gboolean session_auto_respawn; + void session_init(const gchar *client_id); #endif -- 2.11.4.GIT