[gnome-flashback] screensaver: simplify GfWatcher



commit 31c94652838dd248bd0e1fb03b8d1545561a884a
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Tue Dec 10 20:13:25 2019 +0200

    screensaver: simplify GfWatcher
    
    Previous commit removed status-message-enabled setting because it
    was deprecated. Remove related status message, it will not be used.
    
    Note that gnome-screensaver has not shown status messages for more
    than 9 years. Related commit:
    https://gitlab.gnome.org/Archive/gnome-screensaver/commit/09cce9f6f
    
    Also remove enabled, it is always TRUE.

 gnome-flashback/libscreensaver/gf-watcher.c        | 102 +++------------------
 gnome-flashback/libscreensaver/gf-watcher.h        |  17 +---
 .../org.gnome.SessionManager.Presence.xml          |   6 --
 3 files changed, 18 insertions(+), 107 deletions(-)
---
diff --git a/gnome-flashback/libscreensaver/gf-watcher.c b/gnome-flashback/libscreensaver/gf-watcher.c
index c692e0b..09681e8 100644
--- a/gnome-flashback/libscreensaver/gf-watcher.c
+++ b/gnome-flashback/libscreensaver/gf-watcher.c
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 2004-2006 William Jon McCann
  * Copyright (C) 2008 Red Hat, Inc.
- * Copyright (C) 2016 Alberts Muktupāvels
+ * Copyright (C) 2019 Alberts Muktupāvels
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -38,11 +38,8 @@ struct _GfWatcher
   guint            presence_id;
   GfSmPresenceGen *presence;
 
-  gboolean         enabled;
   gboolean         active;
 
-  gchar           *status_message;
-
   gboolean         idle;
   gboolean         idle_notice;
   guint            idle_id;
@@ -55,8 +52,6 @@ enum
   IDLE_CHANGED,
   IDLE_NOTICE_CHANGED,
 
-  STATUS_MESSAGE_CHANGED,
-
   LAST_SIGNAL
 };
 
@@ -152,9 +147,7 @@ set_session_idle (GfWatcher *watcher,
   gboolean handled;
 
   if (watcher->idle == idle)
-    {
-      return FALSE;
-    }
+    return FALSE;
 
   handled = FALSE;
   g_signal_emit (watcher, signals[IDLE_CHANGED], 0, idle, &handled);
@@ -179,9 +172,7 @@ set_session_idle_notice (GfWatcher *watcher,
   gboolean handled;
 
   if (watcher->idle_notice == idle_notice)
-    {
-      return;
-    }
+    return;
 
   handled = FALSE;
   g_signal_emit (watcher, signals[IDLE_NOTICE_CHANGED], 0,
@@ -221,9 +212,9 @@ idle_cb (gpointer user_data)
 
 static void
 status_changed_cb (GfSmPresenceGen *presence,
+                   guint            status,
                    GfWatcher       *watcher)
 {
-  guint status;
   gboolean idle;
 
   if (!watcher->active)
@@ -232,7 +223,6 @@ status_changed_cb (GfSmPresenceGen *presence,
       return;
     }
 
-  status = gf_sm_presence_gen_get_status (presence);
   idle = (status == 3);
 
   if (!idle && !watcher->idle_notice)
@@ -253,6 +243,7 @@ status_changed_cb (GfSmPresenceGen *presence,
 
       /* time before idle signal to send notice signal */
       watcher->idle_id = g_timeout_add_seconds (10, idle_cb, watcher);
+      g_source_set_name_by_id (watcher->idle_id, "[gnome-flashback] idle_cb");
     }
   else
     {
@@ -261,18 +252,6 @@ status_changed_cb (GfSmPresenceGen *presence,
     }
 }
 
-static void
-status_text_changed_cb (GfSmPresenceGen *presence,
-                        GfWatcher       *watcher)
-{
-  const gchar *text;
-
-  text = gf_sm_presence_gen_get_status_text (presence);
-
-  g_free (watcher->status_message);
-  watcher->status_message = g_strdup (text);
-}
-
 static void
 presence_ready_cb (GObject      *object,
                    GAsyncResult *res,
@@ -280,6 +259,7 @@ presence_ready_cb (GObject      *object,
 {
   GfWatcher *watcher;
   GError *error;
+  guint status;
 
   watcher = GF_WATCHER (user_data);
 
@@ -296,11 +276,9 @@ presence_ready_cb (GObject      *object,
 
   g_signal_connect (watcher->presence, "status-changed",
                     G_CALLBACK (status_changed_cb), watcher);
-  g_signal_connect (watcher->presence, "status-text-changed",
-                    G_CALLBACK (status_text_changed_cb), watcher);
 
-  status_changed_cb (watcher->presence, watcher);
-  status_text_changed_cb (watcher->presence, watcher);
+  status = gf_sm_presence_gen_get_status (watcher->presence);
+  status_changed_cb (watcher->presence, status, watcher);
 }
 
 static void
@@ -335,9 +313,7 @@ set_active_internal (GfWatcher *watcher,
                      gboolean   active)
 {
   if (watcher->active == active)
-    {
-      return;
-    }
+    return;
 
   watcher->idle = FALSE;
   watcher->idle_notice = FALSE;
@@ -374,18 +350,6 @@ gf_watcher_dispose (GObject *object)
   G_OBJECT_CLASS (gf_watcher_parent_class)->dispose (object);
 }
 
-static void
-gf_watcher_finalize (GObject *object)
-{
-  GfWatcher *watcher;
-
-  watcher = GF_WATCHER (object);
-
-  g_free (watcher->status_message);
-
-  G_OBJECT_CLASS (gf_watcher_parent_class)->finalize (object);
-}
-
 static void
 install_signals (GObjectClass *object_class)
 {
@@ -398,11 +362,6 @@ install_signals (GObjectClass *object_class)
     g_signal_new ("idle-notice-changed", GF_TYPE_WATCHER,
                   G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
                   G_TYPE_BOOLEAN, 1, G_TYPE_BOOLEAN);
-
-  signals[STATUS_MESSAGE_CHANGED] =
-    g_signal_new ("status-message-changed", GF_TYPE_WATCHER,
-                  G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
-                  G_TYPE_NONE, 0);
 }
 
 static void
@@ -413,7 +372,6 @@ gf_watcher_class_init (GfWatcherClass *watcher_class)
   object_class = G_OBJECT_CLASS (watcher_class);
 
   object_class->dispose = gf_watcher_dispose;
-  object_class->finalize = gf_watcher_finalize;
 
   install_signals (object_class);
 }
@@ -421,8 +379,6 @@ gf_watcher_class_init (GfWatcherClass *watcher_class)
 static void
 gf_watcher_init (GfWatcher *watcher)
 {
-  watcher->enabled = TRUE;
-
   watcher->presence_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
                                            SESSION_MANAGER_DBUS_NAME,
                                            G_BUS_NAME_WATCHER_FLAGS_NONE,
@@ -434,6 +390,7 @@ gf_watcher_init (GfWatcher *watcher)
    * not, to try and clean up anything that has gone wrong.
    */
   watcher->watchdog_id = g_timeout_add_seconds (600, watchdog_cb, watcher);
+  g_source_set_name_by_id (watcher->watchdog_id, "[gnome-flashback] watchdog_cb");
 }
 
 GfWatcher *
@@ -442,30 +399,7 @@ gf_watcher_new (void)
   return g_object_new (GF_TYPE_WATCHER, NULL);
 }
 
-void
-gf_watcher_set_enabled (GfWatcher *watcher,
-                        gboolean   enabled)
-{
-  if (watcher->enabled == enabled)
-    {
-      return;
-    }
-
-  watcher->enabled = enabled;
-
-  if (!enabled && watcher->active)
-    {
-      set_active_internal (watcher, FALSE);
-    }
-}
-
 gboolean
-gf_watcher_get_enabled (GfWatcher *watcher)
-{
-  return watcher->enabled;
-}
-
-void
 gf_watcher_set_active (GfWatcher *watcher,
                        gboolean   active)
 {
@@ -476,16 +410,12 @@ gf_watcher_set_active (GfWatcher *watcher,
       g_debug ("Idle detection is already %s",
                active ? "active" : "inactive");
 
-      return;
-    }
-
-  if (!watcher->enabled)
-    {
-      g_debug ("Idle detection is disabled, cannot activate");
-      return;
+      return FALSE;
     }
 
   set_active_internal (watcher, active);
+
+  return TRUE;
 }
 
 gboolean
@@ -493,9 +423,3 @@ gf_watcher_get_active (GfWatcher *watcher)
 {
   return watcher->active;
 }
-
-const gchar *
-gf_watcher_get_status_message (GfWatcher *watcher)
-{
-  return watcher->status_message;
-}
diff --git a/gnome-flashback/libscreensaver/gf-watcher.h b/gnome-flashback/libscreensaver/gf-watcher.h
index 44b7d53..5fb6451 100644
--- a/gnome-flashback/libscreensaver/gf-watcher.h
+++ b/gnome-flashback/libscreensaver/gf-watcher.h
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2004-2005 William Jon McCann
- * Copyright (C) 2016 Alberts Muktupāvels
+ * Copyright (C) 2019 Alberts Muktupāvels
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,19 +30,12 @@ G_BEGIN_DECLS
 #define GF_TYPE_WATCHER gf_watcher_get_type ()
 G_DECLARE_FINAL_TYPE (GfWatcher, gf_watcher, GF, WATCHER, GObject)
 
-GfWatcher   *gf_watcher_new                (void);
+GfWatcher *gf_watcher_new        (void);
 
-void         gf_watcher_set_enabled        (GfWatcher *watcher,
-                                            gboolean   enabled);
+gboolean   gf_watcher_set_active (GfWatcher *watcher,
+                                  gboolean   active);
 
-gboolean     gf_watcher_get_enabled        (GfWatcher *watcher);
-
-void         gf_watcher_set_active         (GfWatcher *watcher,
-                                            gboolean   active);
-
-gboolean     gf_watcher_get_active         (GfWatcher *watcher);
-
-const gchar *gf_watcher_get_status_message (GfWatcher *watcher);
+gboolean   gf_watcher_get_active (GfWatcher *watcher);
 
 G_END_DECLS
 
diff --git a/gnome-flashback/libscreensaver/org.gnome.SessionManager.Presence.xml 
b/gnome-flashback/libscreensaver/org.gnome.SessionManager.Presence.xml
index 81cb8ca..6b226ca 100644
--- a/gnome-flashback/libscreensaver/org.gnome.SessionManager.Presence.xml
+++ b/gnome-flashback/libscreensaver/org.gnome.SessionManager.Presence.xml
@@ -7,15 +7,9 @@
 
     <property name="status" type="u" access="readwrite" />
 
-    <property name="status-text" type="s" access="readwrite" />
-
     <signal name="StatusChanged">
       <arg name="status" type="u" direction="in" />
     </signal>
 
-    <signal name="StatusTextChanged">
-      <arg name="status_text" type="s" direction="in" />
-    </signal>
-
   </interface>
 </node>


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