From 4d098217301086d5ab142d6c4184f01d18c8b329 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 2 Mar 2008 02:50:19 -0500 Subject: add a SessionLogout action --- openbox/session.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'openbox/session.c') diff --git a/openbox/session.c b/openbox/session.c index 0f74ec28..4483c051 100644 --- a/openbox/session.c +++ b/openbox/session.c @@ -33,6 +33,7 @@ GSList *session_desktop_names = NULL; void session_startup(gint argc, gchar **argv) {} void session_shutdown(gboolean permanent) {} GList* session_state_find(struct _ObClient *c) { return NULL; } +void session_request_logout(gboolean silent) {} #else #include "debug.h" @@ -804,4 +805,20 @@ static void session_load_file(const gchar *path) xmlFreeDoc(doc); } +void session_request_logout(gboolean silent) +{ + if (sm_conn) { + SmcRequestSaveYourself(sm_conn, + SmSaveBoth, + TRUE, /* logout */ + (silent ? + SmInteractStyleNone : SmInteractStyleAny), + TRUE, /* if false, with GSM, it shows the old + logout prompt */ + TRUE); /* global */ + } + else + g_message(_("Not connected to a session manager")); +} + #endif -- cgit v1.2.3