X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fsession.c;h=99d66221ce4a7f3e5993642c223884716e6a4472;hb=97de73776708d7c75b42c8fcf33342541d721c83;hp=c38a8204ca018a238086d3ab852c23dccfcef501;hpb=07d5674d3984d008de1ecc768a296afbed731e4e;p=chaz%2Fopenbox diff --git a/openbox/session.c b/openbox/session.c index c38a8204..99d66221 100644 --- a/openbox/session.c +++ b/openbox/session.c @@ -99,17 +99,18 @@ void session_startup(gint argc, gchar **argv) sm_argv = argv; p = obt_paths_new(); - dir = g_build_filename(obt_paths_data_home(p), "openbox", "sessions",NULL); + dir = g_build_filename(obt_paths_cache_home(p), + "openbox", "sessions", NULL); obt_paths_unref(p), p = NULL; if (!obt_paths_mkdir_path(dir, 0700)) { - g_message(_("Unable to make directory '%s': %s"), + g_message(_("Unable to make directory \"%s\": %s"), dir, g_strerror(errno)); } if (ob_sm_save_file != NULL) { if (ob_sm_restore) { - ob_debug_type(OB_DEBUG_SM, "Loading from session file %s\n", + ob_debug_type(OB_DEBUG_SM, "Loading from session file %s", ob_sm_save_file); session_load_file(ob_sm_save_file); } @@ -158,7 +159,7 @@ void session_shutdown(gboolean permanent) } /*! Connect to the session manager and set up our callback functions */ -static gboolean session_connect() +static gboolean session_connect(void) { SmcCallbacks cb; gchar *oldid; @@ -176,7 +177,7 @@ static gboolean session_connect() /* connect to the server */ oldid = ob_sm_id; - ob_debug_type(OB_DEBUG_SM, "Connecting to SM with id: %s\n", + ob_debug_type(OB_DEBUG_SM, "Connecting to SM with id: %s", oldid ? oldid : "(null)"); sm_conn = SmcOpenConnection(NULL, NULL, 1, 0, SmcSaveYourselfProcMask | @@ -186,13 +187,13 @@ static gboolean session_connect() &cb, oldid, &ob_sm_id, SM_ERR_LEN-1, sm_err); g_free(oldid); - ob_debug_type(OB_DEBUG_SM, "Connected to SM with id: %s\n", ob_sm_id); + ob_debug_type(OB_DEBUG_SM, "Connected to SM with id: %s", ob_sm_id); if (sm_conn == NULL) - ob_debug("Failed to connect to session manager: %s\n", sm_err); + ob_debug("Failed to connect to session manager: %s", sm_err); return sm_conn != NULL; } -static void session_setup_program() +static void session_setup_program(void) { SmPropValue vals = { .value = sm_argv[0], @@ -205,13 +206,13 @@ static void session_setup_program() .vals = &vals }; SmProp *list = ∝ - ob_debug_type(OB_DEBUG_SM, "Setting program: %s\n", sm_argv[0]); + ob_debug_type(OB_DEBUG_SM, "Setting program: %s", sm_argv[0]); SmcSetProperties(sm_conn, 1, &list); g_free(prop.name); g_free(prop.type); } -static void session_setup_user() +static void session_setup_user(void) { char *user = g_strdup(g_get_user_name()); @@ -226,7 +227,7 @@ static void session_setup_user() .vals = &vals }; SmProp *list = ∝ - ob_debug_type(OB_DEBUG_SM, "Setting user: %s\n", user); + ob_debug_type(OB_DEBUG_SM, "Setting user: %s", user); SmcSetProperties(sm_conn, 1, &list); g_free(prop.name); g_free(prop.type); @@ -248,13 +249,13 @@ static void session_setup_restart_style(gboolean restart) .vals = &vals }; SmProp *list = ∝ - ob_debug_type(OB_DEBUG_SM, "Setting restart: %d\n", restart); + ob_debug_type(OB_DEBUG_SM, "Setting restart: %d", restart); SmcSetProperties(sm_conn, 1, &list); g_free(prop.name); g_free(prop.type); } -static void session_setup_pid() +static void session_setup_pid(void) { gchar *pid = g_strdup_printf("%ld", (glong) getpid()); @@ -269,7 +270,7 @@ static void session_setup_pid() .vals = &vals }; SmProp *list = ∝ - ob_debug_type(OB_DEBUG_SM, "Setting pid: %s\n", pid); + ob_debug_type(OB_DEBUG_SM, "Setting pid: %s", pid); SmcSetProperties(sm_conn, 1, &list); g_free(prop.name); g_free(prop.type); @@ -277,7 +278,7 @@ static void session_setup_pid() } /*! This is a gnome-session-manager extension */ -static void session_setup_priority() +static void session_setup_priority(void) { gchar priority = 20; /* 20 is a lower prioity to run before other apps */ @@ -292,13 +293,13 @@ static void session_setup_priority() .vals = &vals }; SmProp *list = ∝ - ob_debug_type(OB_DEBUG_SM, "Setting priority: %d\n", priority); + ob_debug_type(OB_DEBUG_SM, "Setting priority: %d", priority); SmcSetProperties(sm_conn, 1, &list); g_free(prop.name); g_free(prop.type); } -static void session_setup_clone_command() +static void session_setup_clone_command(void) { gint i; @@ -311,11 +312,11 @@ static void session_setup_clone_command() }; SmProp *list = ∝ - ob_debug_type(OB_DEBUG_SM, "Setting clone command: (%d)\n", sm_argc); + ob_debug_type(OB_DEBUG_SM, "Setting clone command: (%d)", sm_argc); for (i = 0; i < sm_argc; ++i) { vals[i].value = sm_argv[i]; vals[i].length = strlen(sm_argv[i]) + 1; - ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i].value); + ob_debug_type(OB_DEBUG_SM, " %s", vals[i].value); } SmcSetProperties(sm_conn, 1, &list); @@ -324,7 +325,7 @@ static void session_setup_clone_command() g_free(vals); } -static void session_setup_restart_command() +static void session_setup_restart_command(void) { gint i; @@ -337,26 +338,26 @@ static void session_setup_restart_command() }; SmProp *list = ∝ - ob_debug_type(OB_DEBUG_SM, "Setting restart command: (%d)\n", sm_argc+4); + ob_debug_type(OB_DEBUG_SM, "Setting restart command: (%d)", sm_argc+4); for (i = 0; i < sm_argc; ++i) { vals[i].value = sm_argv[i]; vals[i].length = strlen(sm_argv[i]) + 1; - ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i].value); + ob_debug_type(OB_DEBUG_SM, " %s", vals[i].value); } vals[i].value = g_strdup("--sm-client-id"); vals[i].length = strlen("--sm-client-id") + 1; vals[i+1].value = ob_sm_id; vals[i+1].length = strlen(ob_sm_id) + 1; - ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i].value); - ob_debug_type(OB_DEBUG_SM, " %s\n", vals[i+1].value); + ob_debug_type(OB_DEBUG_SM, " %s", vals[i].value); + ob_debug_type(OB_DEBUG_SM, " %s", vals[i+1].value); vals[i+2].value = g_strdup("--sm-save-file"); vals[i+2].length = strlen("--sm-save-file") + 1; vals[i+3].value = ob_sm_save_file; 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); + ob_debug_type(OB_DEBUG_SM, " %s", vals[i+2].value); + ob_debug_type(OB_DEBUG_SM, " %s", vals[i+3].value); SmcSetProperties(sm_conn, 1, &list); g_free(prop.name); @@ -366,7 +367,7 @@ static void session_setup_restart_command() g_free(vals); } -static ObSMSaveData *sm_save_get_data() +static ObSMSaveData *sm_save_get_data(void) { ObSMSaveData *savedata = g_new0(ObSMSaveData, 1); /* save the active desktop and client. @@ -384,9 +385,9 @@ static void sm_save_yourself_2(SmcConn conn, SmPointer data) ObSMSaveData *savedata = data; /* save the current state */ - ob_debug_type(OB_DEBUG_SM, "Session save phase 2 requested\n"); + ob_debug_type(OB_DEBUG_SM, "Session save phase 2 requested"); ob_debug_type(OB_DEBUG_SM, - " Saving session to file '%s'\n", ob_sm_save_file); + " Saving session to file '%s'", ob_sm_save_file); if (savedata == NULL) savedata = sm_save_get_data(); success = session_save_to_file(savedata); @@ -395,7 +396,7 @@ static void sm_save_yourself_2(SmcConn conn, SmPointer data) /* tell the session manager how to restore this state */ if (success) session_setup_restart_command(); - ob_debug_type(OB_DEBUG_SM, "Saving is done (success = %d)\n", success); + ob_debug_type(OB_DEBUG_SM, "Saving is done (success = %d)", success); SmcSaveYourselfDone(conn, success); } @@ -406,10 +407,10 @@ static void sm_save_yourself(SmcConn conn, SmPointer data, gint save_type, ObSMSaveData *savedata = NULL; gchar *vendor; - ob_debug_type(OB_DEBUG_SM, "Session save requested\n"); + ob_debug_type(OB_DEBUG_SM, "Session save requested"); vendor = SmcVendor(sm_conn); - ob_debug_type(OB_DEBUG_SM, "Session manager's vendor: %s\n", vendor); + ob_debug_type(OB_DEBUG_SM, "Session manager's vendor: %s", vendor); if (!strcmp(vendor, "KDE")) { /* ksmserver guarantees that phase 1 will complete before allowing any @@ -420,7 +421,7 @@ static void sm_save_yourself(SmcConn conn, SmPointer data, gint save_type, free(vendor); if (!SmcRequestSaveYourselfPhase2(conn, sm_save_yourself_2, savedata)) { - ob_debug_type(OB_DEBUG_SM, "Requst for phase 2 failed\n"); + ob_debug_type(OB_DEBUG_SM, "Requst for phase 2 failed"); g_free(savedata); SmcSaveYourselfDone(conn, FALSE); } @@ -428,18 +429,18 @@ static void sm_save_yourself(SmcConn conn, SmPointer data, gint save_type, static void sm_die(SmcConn conn, SmPointer data) { - ob_debug_type(OB_DEBUG_SM, "Die requested\n"); + ob_debug_type(OB_DEBUG_SM, "Die requested"); ob_exit(0); } static void sm_save_complete(SmcConn conn, SmPointer data) { - ob_debug_type(OB_DEBUG_SM, "Save complete\n"); + ob_debug_type(OB_DEBUG_SM, "Save complete"); } static void sm_shutdown_cancelled(SmcConn conn, SmPointer data) { - ob_debug_type(OB_DEBUG_SM, "Shutdown cancelled\n"); + ob_debug_type(OB_DEBUG_SM, "Shutdown cancelled"); } static gboolean session_save_to_file(const ObSMSaveData *savedata) @@ -451,7 +452,7 @@ static gboolean session_save_to_file(const ObSMSaveData *savedata) f = fopen(ob_sm_save_file, "w"); if (!f) { success = FALSE; - g_message(_("Unable to save the session to '%s': %s"), + g_message(_("Unable to save the session to \"%s\": %s"), ob_sm_save_file, g_strerror(errno)); } else { fprintf(f, "\n\n"); @@ -497,18 +498,18 @@ static gboolean session_save_to_file(const ObSMSaveData *savedata) if (!c->sm_client_id) { ob_debug_type(OB_DEBUG_SM, "Client %s does not have a " - "session id set\n", + "session id set", c->title); if (!c->wm_command) { ob_debug_type(OB_DEBUG_SM, "Client %s does not have an " "oldskool wm_command set either. We won't " - "be saving its data\n", + "be saving its data", c->title); continue; } } - ob_debug_type(OB_DEBUG_SM, "Saving state for client %s\n", + ob_debug_type(OB_DEBUG_SM, "Saving state for client %s", c->title); prex = c->area.x; @@ -583,7 +584,7 @@ static gboolean session_save_to_file(const ObSMSaveData *savedata) if (fflush(f)) { success = FALSE; - g_message(_("Error while saving the session to '%s': %s"), + g_message(_("Error while saving the session to \"%s\": %s"), ob_sm_save_file, g_strerror(errno)); } fclose(f); @@ -607,20 +608,20 @@ static void session_state_free(ObSessionState *state) static gboolean session_state_cmp(ObSessionState *s, ObClient *c) { - ob_debug_type(OB_DEBUG_SM, "Comparing client against saved state: \n"); - ob_debug_type(OB_DEBUG_SM, " client id: %s \n", c->sm_client_id); - ob_debug_type(OB_DEBUG_SM, " client name: %s \n", c->name); - ob_debug_type(OB_DEBUG_SM, " client class: %s \n", c->class); - ob_debug_type(OB_DEBUG_SM, " client role: %s \n", c->role); - ob_debug_type(OB_DEBUG_SM, " client type: %d \n", c->type); - ob_debug_type(OB_DEBUG_SM, " client command: %s \n", + ob_debug_type(OB_DEBUG_SM, "Comparing client against saved state: "); + ob_debug_type(OB_DEBUG_SM, " client id: %s ", c->sm_client_id); + ob_debug_type(OB_DEBUG_SM, " client name: %s ", c->name); + ob_debug_type(OB_DEBUG_SM, " client class: %s ", c->class); + ob_debug_type(OB_DEBUG_SM, " client role: %s ", c->role); + ob_debug_type(OB_DEBUG_SM, " client type: %d ", c->type); + ob_debug_type(OB_DEBUG_SM, " client command: %s ", c->wm_command ? c->wm_command : "(null)"); - ob_debug_type(OB_DEBUG_SM, " state id: %s \n", s->id); - ob_debug_type(OB_DEBUG_SM, " state name: %s \n", s->name); - ob_debug_type(OB_DEBUG_SM, " state class: %s \n", s->class); - ob_debug_type(OB_DEBUG_SM, " state role: %s \n", s->role); - ob_debug_type(OB_DEBUG_SM, " state type: %d \n", s->type); - ob_debug_type(OB_DEBUG_SM, " state command: %s \n", + ob_debug_type(OB_DEBUG_SM, " state id: %s ", s->id); + ob_debug_type(OB_DEBUG_SM, " state name: %s ", s->name); + ob_debug_type(OB_DEBUG_SM, " state class: %s ", s->class); + ob_debug_type(OB_DEBUG_SM, " state role: %s ", s->role); + ob_debug_type(OB_DEBUG_SM, " state type: %d ", s->type); + ob_debug_type(OB_DEBUG_SM, " state command: %s ", s->command ? s->command : "(null)"); if ((c->sm_client_id && s->id && !strcmp(c->sm_client_id, s->id)) ||