X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fsession.c;h=4483c0515547db5013a16747e81a6324a3e4b297;hb=4d098217301086d5ab142d6c4184f01d18c8b329;hp=0f74ec28bdcda79ea67dc62cdac017e2fec2513e;hpb=b20ef1556a582bdf91578b17344feb0048ca208b;p=chaz%2Fopenbox 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