#include "config.h"
#include "ping.h"
#include "prompt.h"
-#include "hooks.h"
#include "gettext.h"
#include "render/render.h"
#include "render/theme.h"
/* register all the available actions */
actions_startup(reconfigure);
- hooks_startup(reconfigure);
/* start up config which sets up with the parser */
config_startup(i);
sn_shutdown(reconfigure);
event_shutdown(reconfigure);
config_shutdown();
- hooks_shutdown(reconfigure);
actions_shutdown(reconfigure);
} while (reconfigure);
}
static void parse_env(void)
{
+ const gchar *id;
+
/* unset this so we don't pass it on unknowingly */
unsetenv("DESKTOP_STARTUP_ID");
+
+ /* this is how gnome-session passes in a session client id */
+ id = g_getenv("DESKTOP_AUTOSTART_ID");
+ if (id) {
+ unsetenv("DESKTOP_AUTOSTART_ID");
+ if (ob_sm_id) g_free(ob_sm_id);
+ ob_sm_id = g_strdup(id);
+ ob_debug_type(OB_DEBUG_SM,
+ "DESKTOP_AUTOSTART_ID %s supercedes --sm-client-id\n",
+ ob_sm_id);
+ }
}
static void parse_args(gint *argc, gchar **argv)
void ob_exit_with_error(const gchar *msg)
{
- g_message(msg);
+ g_message("%s", msg);
session_shutdown(TRUE);
exit(EXIT_FAILURE);
}