summaryrefslogtreecommitdiff
path: root/mate-session/gsm-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'mate-session/gsm-manager.c')
-rw-r--r--mate-session/gsm-manager.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/mate-session/gsm-manager.c b/mate-session/gsm-manager.c
index 37ca39d..d67bed1 100644
--- a/mate-session/gsm-manager.c
+++ b/mate-session/gsm-manager.c
@@ -65,6 +65,10 @@
#endif
#include "gsm-session-save.h"
+#ifdef HAVE_LIBCANBERRA
+#include <canberra-gtk.h>
+#endif
+
#define GSM_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_MANAGER, GsmManagerPrivate))
#define GSM_MANAGER_DBUS_PATH "/org/gnome/SessionManager"
@@ -1548,6 +1552,13 @@ do_phase_query_end_session (GsmManager *manager)
data.flags = 0;
priv = gsm_manager_get_instance_private (manager);
+#ifdef HAVE_LIBCANBERRA
+ ca_context_play (ca_gtk_context_get (), 0,
+ CA_PROP_EVENT_ID, "desktop-logout",
+ CA_PROP_EVENT_DESCRIPTION, "Session logout",
+ NULL);
+#endif
+
if (priv->logout_mode == GSM_MANAGER_LOGOUT_MODE_FORCE) {
data.flags |= GSM_CLIENT_END_SESSION_FLAG_FORCEFUL;
}
@@ -1620,6 +1631,12 @@ start_phase (GsmManager *manager)
break;
case GSM_MANAGER_PHASE_RUNNING:
g_signal_emit (manager, signals[SESSION_RUNNING], 0);
+#ifdef HAVE_LIBCANBERRA
+ ca_context_play (ca_gtk_context_get (), 0,
+ CA_PROP_EVENT_ID, "desktop-login",
+ CA_PROP_EVENT_DESCRIPTION, "Session login",
+ NULL);
+#endif
update_idle (manager);
break;
case GSM_MANAGER_PHASE_QUERY_END_SESSION: