summaryrefslogtreecommitdiff
path: root/mate-session
diff options
context:
space:
mode:
Diffstat (limited to 'mate-session')
-rw-r--r--mate-session/Makefile.am4
-rw-r--r--mate-session/gsm-manager.c17
2 files changed, 20 insertions, 1 deletions
diff --git a/mate-session/Makefile.am b/mate-session/Makefile.am
index 448ee76..aa2be01 100644
--- a/mate-session/Makefile.am
+++ b/mate-session/Makefile.am
@@ -63,6 +63,7 @@ mate_session_CPPFLAGS = \
$(SM_CFLAGS) \
$(ICE_CFLAGS) \
$(XEXT_CFLAGS) \
+ $(LIBCANBERRA_CFLAGS) \
-I$(top_srcdir)/mate-submodules/libegg \
-DLOCALE_DIR=\""$(datadir)/locale"\" \
-DDATA_DIR=\""$(datadir)/mate-session"\" \
@@ -82,7 +83,8 @@ mate_session_LDADD = \
$(MATE_SESSION_LIBS) \
$(SYSTEMD_LIBS) \
$(LIBELOGIND_LIBS) \
- $(EXECINFO_LIBS)
+ $(EXECINFO_LIBS) \
+ $(LIBCANBERRA_LIBS)
libgsmutil_la_SOURCES = \
gsm-util.c \
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: