[Xfce4-commits] [apps/xfce4-screensaver] 02/04: more of configuration processing refactoring
noreply at xfce.org
noreply at xfce.org
Sun Jun 30 16:13:05 CEST 2019
This is an automated email from the git hooks/post-receive script.
b l u e s a b r e p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository apps/xfce4-screensaver.
commit 6a70b11b7800d19ac71e67f6d08887f6e598a788
Author: Alexander Butenko <a.butenka at gmail.com>
Date: Fri Jun 28 10:33:37 2019 -0400
more of configuration processing refactoring
Signed-off-by: Sean Davis <smd.seandavis at gmail.com>
---
src/gs-listener-dbus.c | 57 ++++--------------------------------------
src/gs-listener-x11.c | 40 ++++++++++++------------------
src/gs-listener-x11.h | 7 +-----
src/gs-manager.c | 67 +++-----------------------------------------------
src/gs-manager.h | 4 ---
src/gs-monitor.c | 21 ----------------
6 files changed, 26 insertions(+), 170 deletions(-)
diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c
index 7149c8b..f0c7871 100644
--- a/src/gs-listener-dbus.c
+++ b/src/gs-listener-dbus.c
@@ -45,6 +45,7 @@
#include "gs-listener-dbus.h"
#include "gs-marshal.h"
#include "gs-debug.h"
+#include "gs-prefs.h"
static void gs_listener_class_init (GSListenerClass *klass);
static void gs_listener_init (GSListener *listener);
@@ -83,10 +84,9 @@ struct GSListenerPrivate {
DBusConnection *connection;
DBusConnection *system_connection;
+ GSPrefs *prefs;
guint session_idle : 1;
guint active : 1;
- guint activation_enabled : 1;
- guint sleep_activation_enabled : 1;
guint throttled : 1;
GHashTable *inhibitors;
GHashTable *throttlers;
@@ -126,8 +126,6 @@ enum {
PROP_0,
PROP_ACTIVE,
PROP_SESSION_IDLE,
- PROP_ACTIVATION_ENABLED,
- PROP_SLEEP_ACTIVATION_ENABLED,
};
enum {
@@ -310,7 +308,7 @@ listener_check_activation (GSListener *listener) {
gs_debug ("Checking for activation");
- if (!listener->priv->activation_enabled) {
+ if (!listener->priv->prefs->idle_activation_enabled) {
return TRUE;
}
@@ -466,26 +464,6 @@ gs_listener_set_session_idle (GSListener *listener,
return res;
}
-void
-gs_listener_set_activation_enabled (GSListener *listener,
- gboolean enabled) {
- g_return_if_fail (GS_IS_LISTENER (listener));
-
- if (listener->priv->activation_enabled != enabled) {
- listener->priv->activation_enabled = enabled;
- }
-}
-
-void
-gs_listener_set_sleep_activation_enabled (GSListener *listener,
- gboolean enabled) {
- g_return_if_fail (GS_IS_LISTENER (listener));
-
- if (listener->priv->sleep_activation_enabled != enabled) {
- listener->priv->sleep_activation_enabled = enabled;
- }
-}
-
static dbus_bool_t
listener_property_set_bool (GSListener *listener,
guint prop_id,
@@ -1462,7 +1440,7 @@ listener_dbus_handle_system_message (DBusConnection *connection,
dbus_error_init (&error);
dbus_message_get_args (message, &error, DBUS_TYPE_BOOLEAN, &active, DBUS_TYPE_INVALID);
if (active) {
- if (listener->priv->sleep_activation_enabled) {
+ if (listener->priv->prefs->sleep_activation_enabled) {
gs_debug ("Logind requested session lock");
g_signal_emit (listener, signals[LOCK], 0);
} else {
@@ -1776,12 +1754,6 @@ gs_listener_set_property (GObject *object,
case PROP_SESSION_IDLE:
gs_listener_set_session_idle (self, g_value_get_boolean (value));
break;
- case PROP_ACTIVATION_ENABLED:
- gs_listener_set_activation_enabled (self, g_value_get_boolean (value));
- break;
- case PROP_SLEEP_ACTIVATION_ENABLED:
- gs_listener_set_sleep_activation_enabled (self, g_value_get_boolean (value));
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1804,12 +1776,6 @@ gs_listener_get_property (GObject *object,
case PROP_SESSION_IDLE:
g_value_set_boolean (value, self->priv->session_idle);
break;
- case PROP_ACTIVATION_ENABLED:
- g_value_set_boolean (value, self->priv->activation_enabled);
- break;
- case PROP_SLEEP_ACTIVATION_ENABLED:
- g_value_set_boolean (value, self->priv->sleep_activation_enabled);
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -1907,20 +1873,6 @@ gs_listener_class_init (GSListenerClass *klass) {
NULL,
FALSE,
G_PARAM_READWRITE));
- g_object_class_install_property (object_class,
- PROP_ACTIVATION_ENABLED,
- g_param_spec_boolean ("activation-enabled",
- NULL,
- NULL,
- TRUE,
- G_PARAM_READWRITE));
- g_object_class_install_property (object_class,
- PROP_SLEEP_ACTIVATION_ENABLED,
- g_param_spec_boolean ("sleep-activation-enabled",
- NULL,
- NULL,
- TRUE,
- G_PARAM_READWRITE));
}
static gboolean
@@ -2183,6 +2135,7 @@ gs_listener_init (GSListener *listener) {
/* check if logind is running */
listener->priv->have_logind = (access("/run/systemd/seats/", F_OK) >= 0);
#endif
+ listener->priv->prefs = gs_prefs_new();
gs_listener_dbus_init (listener);
diff --git a/src/gs-listener-x11.c b/src/gs-listener-x11.c
index 0cb7faa..0223989 100644
--- a/src/gs-listener-x11.c
+++ b/src/gs-listener-x11.c
@@ -37,6 +37,7 @@
#include "gs-listener-x11.h"
#include "gs-marshal.h"
#include "gs-debug.h"
+#include "gs-prefs.h"
static void gs_listener_x11_class_init (GSListenerX11Class *klass);
static void gs_listener_x11_init (GSListenerX11 *listener);
@@ -49,8 +50,7 @@ struct GSListenerX11Private {
int scrnsaver_event_base;
gint lock_timeout;
guint lock_timer_id;
- gboolean idle_activation_enabled;
- gboolean saver_enabled;
+ GSPrefs *prefs;
};
enum {
@@ -111,18 +111,18 @@ lock_timer (GSListenerX11 *listener) {
guint idle_time;
gint state;
- if (!listener->priv->saver_enabled)
+ if (!listener->priv->prefs->saver_enabled)
return TRUE;
get_x11_idle_info (&idle_time, &state);
gs_debug("Lock Timeout: %is, Idle: %is, Idle Activation: %s, Screensaver: %s, Lock State: %s",
listener->priv->lock_timeout,
idle_time,
- listener->priv->idle_activation_enabled ? "Enabled" : "Disabled",
+ listener->priv->prefs->idle_activation_enabled ? "Enabled" : "Disabled",
state == ScreenSaverDisabled ? "Disabled" : "Enabled",
state == ScreenSaverOn ? "Locked" : "Unlocked");
- if (listener->priv->idle_activation_enabled &&
+ if (listener->priv->prefs->idle_activation_enabled &&
idle_time >= listener->priv->lock_timeout &&
state != ScreenSaverDisabled) {
if (state == ScreenSaverOn)
@@ -185,7 +185,7 @@ xroot_filter (GdkXEvent *xevent,
listener = GS_LISTENER_X11 (data);
- if (!listener->priv->idle_activation_enabled)
+ if (!listener->priv->prefs->idle_activation_enabled)
return GDK_FILTER_CONTINUE;
ev = xevent;
@@ -249,38 +249,29 @@ gs_listener_x11_acquire (GSListenerX11 *listener) {
}
void
-gs_listener_x11_set_timeout (GSListenerX11 *listener,
- gint timeout) {
+gs_listener_x11_set_timeout (GSListenerX11 *listener) {
Display *display = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- gint lock_timeout = timeout * 60;
+ gint lock_timeout = listener->priv->prefs->timeout * 60;
/* set X server timeouts and disable screen blanking */
XSetScreenSaver(display, lock_timeout, lock_timeout, 0, 0);
if (listener->priv->lock_timeout != lock_timeout) {
- listener->priv->lock_timeout = timeout * 60;
- reset_lock_timer(listener, listener->priv->lock_timeout);
- gs_debug("Lock timeout updated to %i minutes", timeout);
+ listener->priv->lock_timeout = lock_timeout;
+ reset_lock_timer(listener, lock_timeout);
+ gs_debug("Lock timeout updated to %i seconds", lock_timeout);
}
}
-void
-gs_listener_x11_set_saver_enabled (GSListenerX11 *listener,
- gboolean enabled) {
- listener->priv->saver_enabled = enabled;
-}
-
-void
-gs_listener_x11_set_activation_enabled (GSListenerX11 *listener,
- gboolean enabled) {
- listener->priv->idle_activation_enabled = enabled;
-}
-
static void
gs_listener_x11_init (GSListenerX11 *listener) {
listener->priv = gs_listener_x11_get_instance_private (listener);
listener->priv->lock_timeout = 0;
+
+ listener->priv->prefs = gs_prefs_new();
+ gs_listener_x11_set_timeout (listener);
+ g_signal_connect_swapped(listener->priv->prefs, "changed", G_CALLBACK(gs_listener_x11_set_timeout), listener);
}
static void
@@ -295,6 +286,7 @@ gs_listener_x11_finalize (GObject *object) {
g_return_if_fail (listener->priv != NULL);
gdk_window_remove_filter (NULL, (GdkFilterFunc)xroot_filter, NULL);
+ g_signal_handlers_disconnect_by_func(listener->priv->prefs, gs_listener_x11_set_timeout, listener);
G_OBJECT_CLASS (gs_listener_x11_parent_class)->finalize (object);
}
diff --git a/src/gs-listener-x11.h b/src/gs-listener-x11.h
index f4e1076..bb0db15 100644
--- a/src/gs-listener-x11.h
+++ b/src/gs-listener-x11.h
@@ -53,12 +53,7 @@ GType gs_listener_x11_get_type (void);
GSListenerX11 *gs_listener_x11_new (void);
gboolean gs_listener_x11_acquire (GSListenerX11 *listener);
void
- gs_listener_x11_set_timeout (GSListenerX11 *listener,
- gint timeout);
-void gs_listener_x11_set_saver_enabled (GSListenerX11 *listener,
- gboolean enabled);
-void gs_listener_x11_set_activation_enabled (GSListenerX11 *listener,
- gboolean enabled);
+ gs_listener_x11_set_timeout (GSListenerX11 *listener);
G_END_DECLS
#endif /* SRC_GS_LISTENER_X11_H_ */
diff --git a/src/gs-manager.c b/src/gs-manager.c
index 21d7089..743fea7 100644
--- a/src/gs-manager.c
+++ b/src/gs-manager.c
@@ -53,8 +53,6 @@ struct GSManagerPrivate {
/* Policy */
GSPrefs *prefs;
- glong lock_timeout;
- glong cycle_timeout;
guint throttled : 1;
char *status_message;
@@ -438,30 +436,6 @@ add_lock_timer (GSManager *manager,
}
void
-gs_manager_set_lock_timeout (GSManager *manager,
- glong lock_timeout) {
- g_return_if_fail (GS_IS_MANAGER (manager));
-
- if (manager->priv->lock_timeout != lock_timeout) {
- manager->priv->lock_timeout = lock_timeout;
-
- if (manager->priv->active
- && !manager->priv->lock_active
- && (lock_timeout >= 0)) {
- glong elapsed = (time (NULL) - manager->priv->activate_time) * 1000;
-
- remove_lock_timer (manager);
-
- if (elapsed >= lock_timeout) {
- activate_lock_timeout (manager);
- } else {
- add_lock_timer (manager, lock_timeout - elapsed);
- }
- }
- }
-}
-
-void
gs_manager_set_status_message (GSManager *manager,
const char *message) {
GSList *l;
@@ -529,36 +503,6 @@ add_cycle_timer (GSManager *manager,
manager);
}
-void
-gs_manager_set_cycle_timeout (GSManager *manager,
- glong cycle_timeout) {
- g_return_if_fail (GS_IS_MANAGER (manager));
-
- if (manager->priv->cycle_timeout != cycle_timeout) {
- manager->priv->cycle_timeout = cycle_timeout;
-
- if (manager->priv->active && (cycle_timeout >= 0)) {
- glong timeout;
- glong elapsed = (time (NULL) - manager->priv->activate_time) * 1000;
-
- remove_cycle_timer (manager);
-
- if (elapsed >= cycle_timeout) {
- timeout = 0;
- } else {
- timeout = cycle_timeout - elapsed;
- }
-
- add_cycle_timer (manager, timeout);
- }
- }
-}
-
-static void _gs_manager_update_from_prefs(GSManager* manager, GSPrefs* prefs) {
- gs_manager_set_lock_timeout(manager, prefs->lock_timeout);
- gs_manager_set_cycle_timeout(manager, prefs->cycle);
-}
-
static void
gs_manager_set_property (GObject *object,
guint prop_id,
@@ -691,8 +635,6 @@ gs_manager_init (GSManager *manager) {
manager->priv->bg = xfce_bg_new ();
manager->priv->prefs = gs_prefs_new();
- g_signal_connect_swapped(manager->priv->prefs, "changed", G_CALLBACK(_gs_manager_update_from_prefs), manager);
- _gs_manager_update_from_prefs (manager, manager->priv->prefs);
xfce_bg_load_from_preferences (manager->priv->bg, NULL);
@@ -908,14 +850,14 @@ manager_show_window (GSManager *manager,
manager->priv->activate_time = time (NULL);
- if (manager->priv->lock_timeout >= 0) {
+ if (manager->priv->prefs->lock_timeout >= 0) {
remove_lock_timer (manager);
- add_lock_timer (manager, manager->priv->lock_timeout);
+ add_lock_timer (manager, manager->priv->prefs->lock_timeout);
}
- if (manager->priv->cycle_timeout >= 10000) {
+ if (manager->priv->prefs->cycle >= 10000) {
remove_cycle_timer (manager);
- add_cycle_timer (manager, manager->priv->cycle_timeout);
+ add_cycle_timer (manager, manager->priv->prefs->cycle);
}
/* FIXME: only emit signal once */
@@ -1199,7 +1141,6 @@ gs_manager_finalize (GObject *object) {
if (manager->priv->bg != NULL) {
g_object_unref (manager->priv->bg);
}
- g_signal_handlers_disconnect_by_func(manager->priv->prefs, _gs_manager_update_from_prefs, manager);
remove_deepsleep_idle (manager);
remove_timers(manager);
diff --git a/src/gs-manager.h b/src/gs-manager.h
index 62cc112..b06e17a 100644
--- a/src/gs-manager.h
+++ b/src/gs-manager.h
@@ -72,12 +72,8 @@ void gs_manager_set_saver_active (GSManager *manager,
gboolean saver_active);
void gs_manager_set_status_message (GSManager *manager,
const char *message);
-void gs_manager_set_lock_timeout (GSManager *manager,
- glong lock_timeout);
void gs_manager_set_throttled (GSManager *manager,
gboolean throttled);
-void gs_manager_set_cycle_timeout (GSManager *manager,
- glong cycle_timeout);
void gs_manager_show_message (GSManager *manager,
const char *summary,
const char *body,
diff --git a/src/gs-monitor.c b/src/gs-monitor.c
index 835b538..0f3d8c5 100644
--- a/src/gs-monitor.c
+++ b/src/gs-monitor.c
@@ -193,15 +193,6 @@ static void listener_simulate_user_activity_cb(GSListener* listener, GSMonitor*
gs_monitor_simulate_user_activity(monitor);
}
-static void _gs_monitor_update_from_prefs(GSMonitor* monitor, GSPrefs* prefs) {
- /* enable activation when allowed */
- gs_listener_set_activation_enabled(monitor->priv->listener, prefs->idle_activation_enabled);
- gs_listener_set_sleep_activation_enabled(monitor->priv->listener, prefs->sleep_activation_enabled);
- gs_listener_x11_set_activation_enabled(monitor->priv->listener_x11, prefs->idle_activation_enabled);
- gs_listener_x11_set_timeout(monitor->priv->listener_x11, prefs->timeout);
- gs_listener_x11_set_saver_enabled(monitor->priv->listener_x11, prefs->saver_enabled);
-}
-
static void disconnect_listener_signals(GSMonitor* monitor) {
g_signal_handlers_disconnect_by_func(monitor->priv->listener, listener_lock_cb, monitor);
g_signal_handlers_disconnect_by_func(monitor->priv->listener, listener_quit_cb, monitor);
@@ -247,19 +238,10 @@ static void connect_manager_signals(GSMonitor* monitor) {
g_signal_connect(monitor->priv->manager, "deactivated", G_CALLBACK(manager_deactivated_cb), monitor);
}
-static void disconnect_prefs_signals(GSMonitor* monitor) {
- g_signal_handlers_disconnect_by_func(monitor->priv->prefs, _gs_monitor_update_from_prefs, monitor);
-}
-
-static void connect_prefs_signals(GSMonitor* monitor) {
- g_signal_connect_swapped(monitor->priv->prefs, "changed", G_CALLBACK(_gs_monitor_update_from_prefs), monitor);
-}
-
static void gs_monitor_init(GSMonitor* monitor) {
monitor->priv = gs_monitor_get_instance_private (monitor);
monitor->priv->prefs = gs_prefs_new();
- connect_prefs_signals(monitor);
monitor->priv->listener = gs_listener_new();
monitor->priv->listener_x11 = gs_listener_x11_new();
@@ -269,8 +251,6 @@ static void gs_monitor_init(GSMonitor* monitor) {
monitor->priv->manager = gs_manager_new();
connect_manager_signals(monitor);
-
- _gs_monitor_update_from_prefs(monitor, monitor->priv->prefs);
}
static void gs_monitor_finalize(GObject* object) {
@@ -285,7 +265,6 @@ static void gs_monitor_finalize(GObject* object) {
disconnect_listener_signals(monitor);
disconnect_manager_signals(monitor);
- disconnect_prefs_signals(monitor);
g_object_unref(monitor->priv->grab);
g_object_unref(monitor->priv->listener);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list