summaryrefslogtreecommitdiff
path: root/openbox/session.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-03-02 04:18:17 -0500
committerDana Jansens <danakj@orodu.net>2008-03-02 04:19:05 -0500
commit37705f444eecabb2e5bd31e92bc8b82ae9b8b596 (patch)
tree6c2ef624542f53985773b3399ca49baacbbf7d77 /openbox/session.c
parenta47d0a53652a96ca1df96fc9268757df1431ae55 (diff)
parente8ce4dbb8fa8f415759745d57bb1c971ea360ec5 (diff)
Merge branch 'backport' into work
Conflicts: openbox/actions/all.h openbox/event.c openbox/prompt.c
Diffstat (limited to 'openbox/session.c')
-rw-r--r--openbox/session.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/openbox/session.c b/openbox/session.c
index 99d66221..3cf8fbe2 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"
@@ -813,4 +814,20 @@ static void session_load_file(const gchar *path)
obt_parse_instance_unref(i);
}
+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