diff -Naurp cinnamon-screensaver-1.8.0-orig/configure.ac cinnamon-screensaver-1.8.0/configure.ac --- cinnamon-screensaver-1.8.0-orig/configure.ac 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/configure.ac 2013-07-12 11:03:40.553149966 -0400 @@ -766,9 +766,9 @@ Makefile po/Makefile.in src/Makefile src/cinnamon-screensaver.desktop.in +src/cinnamon2d-screensaver.desktop.in data/Makefile data/org.cinnamon.ScreenSaver.service -files/Makefile ]) echo " diff -Naurp cinnamon-screensaver-1.8.0-orig/doc/dbus-interface.html cinnamon-screensaver-1.8.0/doc/dbus-interface.html --- cinnamon-screensaver-1.8.0-orig/doc/dbus-interface.html 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/doc/dbus-interface.html 2013-07-12 10:57:35.316495444 -0400 @@ -2,6 +2,8 @@             <mccann@jhu.edu>
          

Version 1.8.0


Table of Contents

1. DBUS Interface
Introduction
Methods
Lock +
+ LockMessage
Cycle
@@ -30,6 +32,8 @@ AuthenticationRequestEnd
Examples

Chapter 1. DBUS Interface

Table of Contents

Introduction
Methods
Lock +
+ LockMessage
Cycle
@@ -70,7 +74,11 @@ Lock

Request that the screen be locked. -

+

+ LockMessage +

+ Request that the screen be locked, and set an away message. +

DirectionTypeDescription
instringthe away message

Cycle

Request that the screen saver theme be restarted and, if applicable, diff -Naurp cinnamon-screensaver-1.8.0-orig/files/Makefile.in cinnamon-screensaver-1.8.0/files/Makefile.in --- cinnamon-screensaver-1.8.0-orig/files/Makefile.in 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/files/Makefile.in 1969-12-31 19:00:00.000000000 -0500 @@ -1,11 +0,0 @@ -all: - -clean: - -distclean: - -install: - find -mindepth 1 -maxdepth 1 -type d -exec cp -R {} $(DESTDIR)/ \; - -uninstall: - find -mindepth 1 -type f -exec rm $(DESTDIR)/{} \; diff -Naurp cinnamon-screensaver-1.8.0-orig/files/usr/bin/gnome-screensaver cinnamon-screensaver-1.8.0/files/usr/bin/gnome-screensaver --- cinnamon-screensaver-1.8.0-orig/files/usr/bin/gnome-screensaver 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/files/usr/bin/gnome-screensaver 1969-12-31 19:00:00.000000000 -0500 @@ -1,2 +0,0 @@ -#!/bin/sh -cinnamon-screensaver $@ diff -Naurp cinnamon-screensaver-1.8.0-orig/files/usr/bin/gnome-screensaver-command cinnamon-screensaver-1.8.0/files/usr/bin/gnome-screensaver-command --- cinnamon-screensaver-1.8.0-orig/files/usr/bin/gnome-screensaver-command 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/files/usr/bin/gnome-screensaver-command 1969-12-31 19:00:00.000000000 -0500 @@ -1,2 +0,0 @@ -#!/bin/sh -cinnamon-screensaver-command $@ diff -Naurp cinnamon-screensaver-1.8.0-orig/Makefile.am cinnamon-screensaver-1.8.0/Makefile.am --- cinnamon-screensaver-1.8.0-orig/Makefile.am 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/Makefile.am 2013-07-12 10:59:01.136492591 -0400 @@ -8,7 +8,6 @@ SUBDIRS = \ src \ po \ data \ - files \ $(NULL) EXTRA_DIST = \ diff -Naurp cinnamon-screensaver-1.8.0-orig/po/POTFILES.in cinnamon-screensaver-1.8.0/po/POTFILES.in --- cinnamon-screensaver-1.8.0-orig/po/POTFILES.in 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/po/POTFILES.in 2013-07-12 11:04:24.353148510 -0400 @@ -4,6 +4,7 @@ src/cinnamon-screensaver-command.c src/cinnamon-screensaver-dialog.c src/cinnamon-screensaver.c src/cinnamon-screensaver.desktop.in.in +src/cinnamon2d-screensaver.desktop.in.in src/gs-auth-pam.c src/gs-listener-dbus.c src/gs-lock-plug.c diff -Naurp cinnamon-screensaver-1.8.0-orig/src/cinnamon2d-screensaver.desktop.in.in cinnamon-screensaver-1.8.0/src/cinnamon2d-screensaver.desktop.in.in --- cinnamon-screensaver-1.8.0-orig/src/cinnamon2d-screensaver.desktop.in.in 1969-12-31 19:00:00.000000000 -0500 +++ cinnamon-screensaver-1.8.0/src/cinnamon2d-screensaver.desktop.in.in 2013-07-12 11:07:47.226475098 -0400 @@ -0,0 +1,16 @@ +[Desktop Entry] +Type=Application +_Name=Screensaver +_Comment=Launch screensaver and locker program +Icon=preferences-desktop-screensaver +Exec=cinnamon-screensaver +OnlyShowIn=GNOME; +AutostartCondition=GNOME3 if-session cinnamon2d +NoDisplay=true +X-GNOME-Autostart-Delay=20 +X-GNOME-Autostart-Phase=Application +X-GNOME-Autostart-Notify=true +X-GNOME-Bugzilla-Bugzilla=GNOME +X-GNOME-Bugzilla-Product=cinnamon-screensaver +X-GNOME-Bugzilla-Component=general +X-GNOME-Bugzilla-Version=@VERSION@ diff -Naurp cinnamon-screensaver-1.8.0-orig/src/cinnamon-screensaver-command.c cinnamon-screensaver-1.8.0/src/cinnamon-screensaver-command.c --- cinnamon-screensaver-1.8.0-orig/src/cinnamon-screensaver-command.c 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/src/cinnamon-screensaver-command.c 2013-07-12 10:44:16.039855352 -0400 @@ -311,11 +311,11 @@ do_command (GDBusConnection *connection) if (do_lock) { if (g_strcmp0 (away_message, "DEFAULT") == 0) { - reply = screensaver_send_message_string (connection, "Lock", away_message); + reply = screensaver_send_message_string (connection, "LockMessage", away_message); } else { gchar * custom_message = g_strdup_printf("CUSTOM###%s", away_message); - reply = screensaver_send_message_string (connection, "Lock", custom_message); + reply = screensaver_send_message_string (connection, "LockMessage", custom_message); g_free (custom_message); } if (reply == NULL) { diff -Naurp cinnamon-screensaver-1.8.0-orig/src/cinnamon-screensaver.desktop.in cinnamon-screensaver-1.8.0/src/cinnamon-screensaver.desktop.in --- cinnamon-screensaver-1.8.0-orig/src/cinnamon-screensaver.desktop.in 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/src/cinnamon-screensaver.desktop.in 1969-12-31 19:00:00.000000000 -0500 @@ -1,15 +0,0 @@ -[Desktop Entry] -Type=Application -_Name=Screensaver -_Comment=Launch screensaver and locker program -Icon=preferences-desktop-screensaver -Exec=cinnamon-screensaver -OnlyShowIn=GNOME;Unity;Xfce; -NoDisplay=true -X-GNOME-Autostart-Delay=20 -X-GNOME-Autostart-Phase=Application -X-GNOME-Autostart-Notify=true -X-GNOME-Bugzilla-Bugzilla=GNOME -X-GNOME-Bugzilla-Product=cinnamon-screensaver -X-GNOME-Bugzilla-Component=general -X-GNOME-Bugzilla-Version=1.8.0 diff -Naurp cinnamon-screensaver-1.8.0-orig/src/cinnamon-screensaver.desktop.in.in cinnamon-screensaver-1.8.0/src/cinnamon-screensaver.desktop.in.in --- cinnamon-screensaver-1.8.0-orig/src/cinnamon-screensaver.desktop.in.in 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/src/cinnamon-screensaver.desktop.in.in 2013-07-12 11:06:56.279810127 -0400 @@ -4,7 +4,8 @@ _Name=Screensaver _Comment=Launch screensaver and locker program Icon=preferences-desktop-screensaver Exec=cinnamon-screensaver -OnlyShowIn=GNOME;Unity;Xfce; +OnlyShowIn=GNOME; +AutostartCondition=GNOME3 if-session cinnamon NoDisplay=true X-GNOME-Autostart-Delay=20 X-GNOME-Autostart-Phase=Application diff -Naurp cinnamon-screensaver-1.8.0-orig/src/gs-listener-dbus.c cinnamon-screensaver-1.8.0/src/gs-listener-dbus.c --- cinnamon-screensaver-1.8.0-orig/src/gs-listener-dbus.c 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/src/gs-listener-dbus.c 2013-07-12 10:51:34.416507443 -0400 @@ -653,6 +653,8 @@ do_introspect (DBusConnection *connectio xml = g_string_append (xml, " \n" " \n" + " \n" + " \n" " \n" " \n" " \n" @@ -744,6 +746,10 @@ listener_dbus_handle_session_message (DB g_return_val_if_fail (message != NULL, DBUS_HANDLER_RESULT_NOT_YET_HANDLED); if (dbus_message_is_method_call (message, GS_SERVICE, "Lock")) { + g_signal_emit (listener, signals [LOCK], 0); + return send_success_reply (connection, message); + } + if (dbus_message_is_method_call (message, GS_SERVICE, "LockMessage")) { return listener_lock (listener, connection, message); } if (dbus_message_is_method_call (message, GS_SERVICE, "Quit")) { @@ -906,7 +912,7 @@ listener_dbus_handle_system_message (DBu } else if (dbus_message_is_signal (message, SYSTEMD_LOGIND_SESSION_INTERFACE, "Lock")) { if (_listener_message_path_is_our_session (listener, message)) { gs_debug ("systemd requested session lock"); - return listener_lock (listener, connection, message); + g_signal_emit (listener, signals [LOCK], 0); } return DBUS_HANDLER_RESULT_HANDLED; @@ -948,7 +954,7 @@ listener_dbus_handle_system_message (DBu } else if (dbus_message_is_signal (message, CK_SESSION_INTERFACE, "Lock")) { if (_listener_message_path_is_our_session (listener, message)) { gs_debug ("ConsoleKit requested session lock"); - return listener_lock (listener, connection, message); + g_signal_emit (listener, signals [LOCK], 0); } return DBUS_HANDLER_RESULT_HANDLED; diff -Naurp cinnamon-screensaver-1.8.0-orig/src/gs-manager.c cinnamon-screensaver-1.8.0/src/gs-manager.c --- cinnamon-screensaver-1.8.0-orig/src/gs-manager.c 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/src/gs-manager.c 2013-07-12 10:53:51.929836204 -0400 @@ -1275,10 +1275,18 @@ void gs_manager_set_away_message (GSManager *manager, const char *message) { - g_free (manager->priv->logout_command); - - manager->priv->away_message = g_strdup(message); GSList *l; + + g_return_if_fail (GS_IS_MANAGER (manager)); + + g_free (manager->priv->away_message); + + if (message) { + manager->priv->away_message = g_strdup (message); + } else { + manager->priv->away_message = NULL; + } + for (l = manager->priv->windows; l; l = l->next) { gs_window_set_away_message (l->data, manager->priv->away_message); } diff -Naurp cinnamon-screensaver-1.8.0-orig/src/Makefile.am cinnamon-screensaver-1.8.0/src/Makefile.am --- cinnamon-screensaver-1.8.0-orig/src/Makefile.am 2013-05-05 07:27:21.000000000 -0400 +++ cinnamon-screensaver-1.8.0/src/Makefile.am 2013-07-12 11:05:47.229812422 -0400 @@ -48,7 +48,9 @@ noinst_PROGRAMS = \ $(NULL) desktopdir = $(sysconfdir)/xdg/autostart -desktop_in_files = cinnamon-screensaver.desktop.in +desktop_in_files = \ + cinnamon-screensaver.desktop.in \ + cinnamon2d-screensaver.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@