[gnome-session] GsmPresence: Use GnomeIdleMonitor



commit c10274e4d32a1d8c473f8f628eaebf8a7f02446d
Author: Bastien Nocera <hadess hadess net>
Date:   Wed Nov 21 22:32:19 2012 +0100

    GsmPresence: Use GnomeIdleMonitor
    
    As used by gnome-settings-daemon and gnome-shell, available
    in gnome-desktop >= 3.7.2.
    
    We use gnome-desktop 3.7.3 for a build fix.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=688841

 configure.ac                    |    2 +
 gnome-session/Makefile.am       |    2 -
 gnome-session/gs-idle-monitor.c |  513 ---------------------------------------
 gnome-session/gs-idle-monitor.h |   71 ------
 gnome-session/gsm-presence.c    |   52 ++--
 5 files changed, 29 insertions(+), 611 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index fc62f97..0a113c3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,6 +38,7 @@ GTK3_REQUIRED=2.90.7
 DBUS_GLIB_REQUIRED=0.76
 UPOWER_REQUIRED=0.9.0
 JSON_GLIB_REQUIRED=0.10
+GNOME_DESKTOP_REQUIRED=3.7.3
 
 dnl ====================================================================
 dnl Dependency Checks
@@ -54,6 +55,7 @@ PKG_CHECK_MODULES(GNOME_SESSION,
         dbus-glib-1 >= $DBUS_GLIB_REQUIRED
         upower-glib >= $UPOWER_REQUIRED
         json-glib-1.0 >= $JSON_GLIB_REQUIRED
+        gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED
 )
 
 PKG_CHECK_MODULES(SESSION_PROPERTIES,
diff --git a/gnome-session/Makefile.am b/gnome-session/Makefile.am
index 954ab0e..ac46df0 100644
--- a/gnome-session/Makefile.am
+++ b/gnome-session/Makefile.am
@@ -35,8 +35,6 @@ gnome_session_SOURCES =				\
 	gsm-icon-names.h			\
 	gsm-inhibit-dialog.h			\
 	gsm-inhibit-dialog.c			\
-	gs-idle-monitor.h			\
-	gs-idle-monitor.c			\
 	gsm-presence.h				\
 	gsm-presence.c				\
 	gdm.h					\
diff --git a/gnome-session/gsm-presence.c b/gnome-session/gsm-presence.c
index 0f9f53e..1c5e734 100644
--- a/gnome-session/gsm-presence.c
+++ b/gnome-session/gsm-presence.c
@@ -28,7 +28,8 @@
 
 #include <dbus/dbus-glib.h>
 
-#include "gs-idle-monitor.h"
+#define GNOME_DESKTOP_USE_UNSTABLE_API
+#include <libgnome-desktop/gnome-idle-monitor.h>
 
 #include "gsm-presence.h"
 #include "gsm-presence-glue.h"
@@ -45,17 +46,17 @@
 
 struct GsmPresencePrivate
 {
-        guint            status;
-        guint            saved_status;
-        char            *status_text;
-        gboolean         idle_enabled;
-        GSIdleMonitor   *idle_monitor;
-        guint            idle_watch_id;
-        guint            idle_timeout;
-        gboolean         screensaver_active;
-        DBusGConnection *bus_connection;
-        DBusGProxy      *bus_proxy;
-        DBusGProxy      *screensaver_proxy;
+        guint             status;
+        guint             saved_status;
+        char             *status_text;
+        gboolean          idle_enabled;
+        GnomeIdleMonitor *idle_monitor;
+        guint             idle_watch_id;
+        guint             idle_timeout;
+        gboolean          screensaver_active;
+        DBusGConnection  *bus_connection;
+        DBusGProxy       *bus_proxy;
+        DBusGProxy       *screensaver_proxy;
 };
 
 enum {
@@ -137,10 +138,10 @@ set_session_idle (GsmPresence   *presence,
 }
 
 static gboolean
-on_idle_timeout (GSIdleMonitor *monitor,
-                 guint          id,
-                 gboolean       condition,
-                 GsmPresence   *presence)
+on_idle_timeout (GnomeIdleMonitor *monitor,
+                 guint             id,
+                 gboolean          condition,
+                 GsmPresence      *presence)
 {
         gboolean handled;
 
@@ -159,8 +160,8 @@ reset_idle_watch (GsmPresence  *presence)
 
         if (presence->priv->idle_watch_id > 0) {
                 g_debug ("GsmPresence: removing idle watch");
-                gs_idle_monitor_remove_watch (presence->priv->idle_monitor,
-                                              presence->priv->idle_watch_id);
+                gnome_idle_monitor_remove_watch (presence->priv->idle_monitor,
+                                                 presence->priv->idle_watch_id);
                 presence->priv->idle_watch_id = 0;
         }
 
@@ -169,10 +170,11 @@ reset_idle_watch (GsmPresence  *presence)
             && presence->priv->idle_timeout > 0) {
                 g_debug ("GsmPresence: adding idle watch");
 
-                presence->priv->idle_watch_id = gs_idle_monitor_add_watch (presence->priv->idle_monitor,
-                                                                           presence->priv->idle_timeout,
-                                                                           (GSIdleMonitorWatchFunc)on_idle_timeout,
-                                                                           presence);
+                presence->priv->idle_watch_id = gnome_idle_monitor_add_watch (presence->priv->idle_monitor,
+                                                                              presence->priv->idle_timeout,
+                                                                              (GnomeIdleMonitorWatchFunc)on_idle_timeout,
+                                                                              presence,
+                                                                              NULL);
         }
 }
 
@@ -313,7 +315,7 @@ gsm_presence_init (GsmPresence *presence)
 {
         presence->priv = GSM_PRESENCE_GET_PRIVATE (presence);
 
-        presence->priv->idle_monitor = gs_idle_monitor_new ();
+        presence->priv->idle_monitor = gnome_idle_monitor_new ();
 }
 
 void
@@ -450,8 +452,8 @@ gsm_presence_finalize (GObject *object)
         GsmPresence *presence = (GsmPresence *) object;
 
         if (presence->priv->idle_watch_id > 0) {
-                gs_idle_monitor_remove_watch (presence->priv->idle_monitor,
-                                              presence->priv->idle_watch_id);
+                gnome_idle_monitor_remove_watch (presence->priv->idle_monitor,
+                                                 presence->priv->idle_watch_id);
                 presence->priv->idle_watch_id = 0;
         }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]