Hello community,
here is the log from the commit of package cinnamon-settings-daemon for
openSUSE:Factory checked in at 2018-09-24 13:11:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-settings-daemon (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-settings-daemon.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-settings-daemon"
Mon Sep 24 13:11:41 2018 rev:16 rq:636731 version:3.8.5
Changes:
--------
---
/work/SRC/openSUSE:Factory/cinnamon-settings-daemon/cinnamon-settings-daemon.changes
2018-06-27 10:23:19.583869421 +0200
+++
/work/SRC/openSUSE:Factory/.cinnamon-settings-daemon.new/cinnamon-settings-daemon.changes
2018-09-24 13:11:44.861866462 +0200
@@ -1,0 +2,10 @@
+Tue Sep 18 17:27:47 UTC 2018 - [email protected]
+
+- Update to version 3.8.5:
+ * csd-power-helper: Implement optional hybrid-sleep for power and
+ media-key plugins.
+ * csd-power-manager.c: Lock the screensaver if demanded by
+ settings prior to turning off the monitor and initiating
+ suspend.
+
+-------------------------------------------------------------------
Old:
----
cinnamon-settings-daemon-3.8.4.tar.gz
New:
----
cinnamon-settings-daemon-3.8.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-settings-daemon.spec ++++++
--- /var/tmp/diff_new_pack.VnpdSO/_old 2018-09-24 13:11:45.405865500 +0200
+++ /var/tmp/diff_new_pack.VnpdSO/_new 2018-09-24 13:11:45.409865493 +0200
@@ -12,12 +12,12 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: cinnamon-settings-daemon
-Version: 3.8.4
+Version: 3.8.5
Release: 0
Summary: The settings Daemon for the Cinnamon Desktop
License: GPL-2.0-or-later AND LGPL-2.1-only
++++++ cinnamon-settings-daemon-3.8.4.tar.gz ->
cinnamon-settings-daemon-3.8.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cinnamon-settings-daemon-3.8.4/configure.ac
new/cinnamon-settings-daemon-3.8.5/configure.ac
--- old/cinnamon-settings-daemon-3.8.4/configure.ac 2018-06-22
20:58:17.000000000 +0200
+++ new/cinnamon-settings-daemon-3.8.5/configure.ac 2018-09-11
15:45:55.000000000 +0200
@@ -1,7 +1,7 @@
AC_PREREQ([2.60])
AC_INIT([cinnamon-settings-daemon],
- [3.8.4],
+ [3.8.5],
[https://github.com/linuxmint/cinnamon-settings-daemon/issues])
AC_CONFIG_MACRO_DIR([m4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cinnamon-settings-daemon-3.8.4/debian/changelog
new/cinnamon-settings-daemon-3.8.5/debian/changelog
--- old/cinnamon-settings-daemon-3.8.4/debian/changelog 2018-06-22
20:58:17.000000000 +0200
+++ new/cinnamon-settings-daemon-3.8.5/debian/changelog 2018-09-11
15:45:55.000000000 +0200
@@ -1,3 +1,11 @@
+cinnamon-settings-daemon (3.8.5) tara; urgency=medium
+
+ [ Michael Webster ]
+ * csd-power-helper: Implement optional hybrid-sleep for power and media-key
plugins.
+ * csd-power-manager.c: Lock the screensaver if demanded by settings prior to
turning off the monitor and initiating suspend.
+
+ -- Clement Lefebvre <[email protected]> Tue, 11 Sep 2018 14:45:31 +0100
+
cinnamon-settings-daemon (3.8.4) tara; urgency=medium
* Power: Reconfigure idle timers when upower state changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/cinnamon-settings-daemon-3.8.4/plugins/common/csd-power-helper.c
new/cinnamon-settings-daemon-3.8.5/plugins/common/csd-power-helper.c
--- old/cinnamon-settings-daemon-3.8.4/plugins/common/csd-power-helper.c
2018-06-22 20:58:17.000000000 +0200
+++ new/cinnamon-settings-daemon-3.8.5/plugins/common/csd-power-helper.c
2018-09-11 15:45:55.000000000 +0200
@@ -63,6 +63,65 @@
}
static void
+logind_hybrid_suspend (void)
+{
+ GDBusConnection *bus;
+
+ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
+ g_dbus_connection_call (bus,
+ LOGIND_DBUS_NAME,
+ LOGIND_DBUS_PATH,
+ LOGIND_DBUS_INTERFACE,
+ "HybridSleep",
+ g_variant_new ("(b)", TRUE),
+ NULL, 0, G_MAXINT, NULL, NULL, NULL);
+ g_object_unref (bus);
+}
+
+static gboolean
+can_hybrid_sleep (void)
+{
+ GDBusConnection *bus;
+ GVariant *res;
+ gchar *rv;
+ gboolean can_hybrid;
+ GError *error = NULL;
+
+ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
+ res = g_dbus_connection_call_sync (bus,
+ LOGIND_DBUS_NAME,
+ LOGIND_DBUS_PATH,
+ LOGIND_DBUS_INTERFACE,
+ "CanHybridSleep",
+ NULL,
+ G_VARIANT_TYPE_TUPLE,
+ 0, G_MAXINT, NULL, &error);
+
+ g_object_unref (bus);
+
+ if (error) {
+ g_warning ("Calling CanHybridSleep failed: %s", error->message);
+ g_clear_error (&error);
+
+ return FALSE;
+ }
+
+ g_variant_get (res, "(s)", &rv);
+ g_variant_unref (res);
+
+ can_hybrid = g_strcmp0 (rv, "yes") == 0 ||
+ g_strcmp0 (rv, "challenge") == 0;
+
+ if (!can_hybrid) {
+ g_warning ("logind does not support hybrid sleep");
+ }
+
+ g_free (rv);
+
+ return can_hybrid;
+}
+
+static void
logind_hibernate (void)
{
GDBusConnection *bus;
@@ -169,10 +228,17 @@
}
void
-csd_power_suspend (gboolean use_logind, GDBusProxy *upower_proxy)
+csd_power_suspend (gboolean use_logind,
+ GDBusProxy *upower_proxy,
+ gboolean try_hybrid)
{
if (use_logind) {
- logind_suspend ();
+ if (try_hybrid && can_hybrid_sleep ()) {
+ logind_hybrid_suspend ();
+ }
+ else {
+ logind_suspend ();
+ }
}
else {
upower_suspend (upower_proxy);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/cinnamon-settings-daemon-3.8.4/plugins/common/csd-power-helper.h
new/cinnamon-settings-daemon-3.8.5/plugins/common/csd-power-helper.h
--- old/cinnamon-settings-daemon-3.8.4/plugins/common/csd-power-helper.h
2018-06-22 20:58:17.000000000 +0200
+++ new/cinnamon-settings-daemon-3.8.5/plugins/common/csd-power-helper.h
2018-09-11 15:45:55.000000000 +0200
@@ -26,7 +26,7 @@
#include <gio/gio.h>
-void csd_power_suspend (gboolean use_logind, GDBusProxy *upower_proxy);
+void csd_power_suspend (gboolean use_logind, GDBusProxy *upower_proxy,
gboolean try_hybrid);
void csd_power_hibernate (gboolean use_logind, GDBusProxy *upower_proxy);
void csd_power_poweroff (gboolean use_logind);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/cinnamon-settings-daemon-3.8.4/plugins/media-keys/csd-media-keys-manager.c
new/cinnamon-settings-daemon-3.8.5/plugins/media-keys/csd-media-keys-manager.c
---
old/cinnamon-settings-daemon-3.8.4/plugins/media-keys/csd-media-keys-manager.c
2018-06-22 20:58:17.000000000 +0200
+++
new/cinnamon-settings-daemon-3.8.5/plugins/media-keys/csd-media-keys-manager.c
2018-09-11 15:45:55.000000000 +0200
@@ -167,7 +167,8 @@
/* logind stuff */
GDBusProxy *logind_proxy;
gint inhibit_keys_fd;
- GSettings *session_settings;
+ GSettings *desktop_session_settings;
+ GSettings *cinnamon_session_settings;
gboolean use_logind;
/* Multihead stuff */
@@ -1458,7 +1459,10 @@
config_key);
switch (action_type) {
case CSD_POWER_ACTION_SUSPEND:
- csd_power_suspend (manager->priv->use_logind,
manager->priv->upower_proxy);
+ ;
+ gboolean hybrid = g_settings_get_boolean
(manager->priv->cinnamon_session_settings,
+
"prefer-hybrid-sleep");
+ csd_power_suspend (manager->priv->use_logind,
manager->priv->upower_proxy, hybrid);
break;
case CSD_POWER_ACTION_INTERACTIVE:
cinnamon_session_shutdown (manager);
@@ -1829,9 +1833,10 @@
CA_PROP_APPLICATION_ID,
"org.gnome.VolumeControl",
NULL);
- manager->priv->session_settings =
g_settings_new("org.cinnamon.desktop.session");
- manager->priv->use_logind = g_settings_get_boolean
(manager->priv->session_settings, "settings-daemon-uses-logind");
+ manager->priv->desktop_session_settings =
g_settings_new("org.cinnamon.desktop.session");
+ manager->priv->use_logind = g_settings_get_boolean
(manager->priv->desktop_session_settings, "settings-daemon-uses-logind");
+ manager->priv->cinnamon_session_settings =
g_settings_new("org.cinnamon.SessionManager");
/* for the power plugin interface code */
manager->priv->power_settings = g_settings_new (SETTINGS_POWER_DIR);
@@ -1951,6 +1956,21 @@
priv->power_settings = NULL;
}
+ if (priv->desktop_session_settings) {
+ g_object_unref (priv->desktop_session_settings);
+ priv->desktop_session_settings = NULL;
+ }
+
+ if (priv->cinnamon_session_settings) {
+ g_object_unref (priv->cinnamon_session_settings);
+ priv->cinnamon_session_settings = NULL;
+ }
+
+ if (priv->interface_settings) {
+ g_object_unref (priv->interface_settings);
+ priv->interface_settings = NULL;
+ }
+
if (priv->power_screen_proxy) {
g_object_unref (priv->power_screen_proxy);
priv->power_screen_proxy = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/cinnamon-settings-daemon-3.8.4/plugins/power/csd-power-manager.c
new/cinnamon-settings-daemon-3.8.5/plugins/power/csd-power-manager.c
--- old/cinnamon-settings-daemon-3.8.4/plugins/power/csd-power-manager.c
2018-06-22 20:58:17.000000000 +0200
+++ new/cinnamon-settings-daemon-3.8.5/plugins/power/csd-power-manager.c
2018-09-11 15:45:55.000000000 +0200
@@ -63,6 +63,7 @@
#define CSD_POWER_SETTINGS_SCHEMA
"org.cinnamon.settings-daemon.plugins.power"
#define CSD_XRANDR_SETTINGS_SCHEMA
"org.cinnamon.settings-daemon.plugins.xrandr"
#define CSD_SESSION_SETTINGS_SCHEMA "org.cinnamon.desktop.session"
+#define CSD_CINNAMON_SESSION_SCHEMA "org.cinnamon.SessionManager"
#define CSD_POWER_DBUS_SERVICE
"org.cinnamon.SettingsDaemon.Power"
#define CSD_POWER_DBUS_PATH
"/org/cinnamon/SettingsDaemon/Power"
@@ -184,7 +185,8 @@
GSettings *settings;
GSettings *settings_screensaver;
GSettings *settings_xrandr;
- GSettings *settings_session;
+ GSettings *settings_desktop_session;
+ GSettings *settings_cinnamon_session;
gboolean use_logind;
UpClient *up_client;
GDBusNodeInfo *introspection_data;
@@ -348,6 +350,17 @@
return TRUE;
}
+static gboolean
+should_lock_on_suspend (CsdPowerManager *manager)
+{
+ gboolean lock;
+
+ lock = g_settings_get_boolean (manager->priv->settings,
+ "lock-on-suspend");
+
+ return lock;
+}
+
static void
notify_close_if_showing (NotifyNotification *notification)
{
@@ -1074,7 +1087,7 @@
static void
#if UP_CHECK_VERSION(0,99,0)
engine_device_removed_cb (UpClient *client, const char *object_path,
CsdPowerManager *manager)
- {
+{
guint i;
for (i = 0; i < manager->priv->devices_array->len; i++) {
@@ -1086,7 +1099,10 @@
}
}
engine_recalculate_state (manager);
+}
+
#else
+
engine_device_removed_cb (UpClient *client, UpDevice *device, CsdPowerManager
*manager)
{
gboolean ret;
@@ -1094,8 +1110,8 @@
if (!ret)
return;
engine_recalculate_state (manager);
-#endif
}
+#endif
static void
on_notification_closed (NotifyNotification *notification, gpointer data)
@@ -1994,7 +2010,10 @@
switch (action_type) {
case CSD_POWER_ACTION_SUSPEND:
- csd_power_suspend (manager->priv->use_logind,
manager->priv->upower_proxy);
+ ;
+ gboolean hybrid = g_settings_get_boolean
(manager->priv->settings_cinnamon_session,
+
"prefer-hybrid-sleep");
+ csd_power_suspend (manager->priv->use_logind,
manager->priv->upower_proxy, hybrid);
break;
case CSD_POWER_ACTION_INTERACTIVE:
cinnamon_session_shutdown ();
@@ -2387,6 +2406,10 @@
#endif
}
+ if (should_lock_on_suspend (manager)) {
+ lock_screensaver (manager);
+ }
+
/* ensure we turn the panel back on after resume */
ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
GNOME_RR_DPMS_OFF,
@@ -3986,12 +4009,7 @@
static void
handle_suspend_actions (CsdPowerManager *manager)
{
- gboolean do_lock;
-
- do_lock = g_settings_get_boolean (manager->priv->settings,
- "lock-on-suspend");
-
- if (do_lock) {
+ if (should_lock_on_suspend (manager)) {
lock_screensaver (manager);
}
@@ -4169,8 +4187,9 @@
G_CALLBACK (engine_settings_key_changed_cb),
manager);
manager->priv->settings_screensaver = g_settings_new
("org.cinnamon.desktop.screensaver");
manager->priv->settings_xrandr = g_settings_new
(CSD_XRANDR_SETTINGS_SCHEMA);
- manager->priv->settings_session = g_settings_new
(CSD_SESSION_SETTINGS_SCHEMA);
- manager->priv->use_logind = g_settings_get_boolean
(manager->priv->settings_session, "settings-daemon-uses-logind");
+ manager->priv->settings_desktop_session = g_settings_new
(CSD_SESSION_SETTINGS_SCHEMA);
+ manager->priv->settings_cinnamon_session = g_settings_new
(CSD_CINNAMON_SESSION_SCHEMA);
+ manager->priv->use_logind = g_settings_get_boolean
(manager->priv->settings_desktop_session, "settings-daemon-uses-logind");
manager->priv->inhibit_lid_switch_enabled =
g_settings_get_boolean (manager->priv->settings,
"inhibit-lid-switch");
@@ -4388,9 +4407,14 @@
manager->priv->settings_xrandr = NULL;
}
- if (manager->priv->settings_session != NULL) {
- g_object_unref (manager->priv->settings_session);
- manager->priv->settings_session = NULL;
+ if (manager->priv->settings_desktop_session != NULL) {
+ g_object_unref (manager->priv->settings_desktop_session);
+ manager->priv->settings_desktop_session = NULL;
+ }
+
+ if (manager->priv->settings_cinnamon_session != NULL) {
+ g_object_unref (manager->priv->settings_cinnamon_session);
+ manager->priv->settings_cinnamon_session = NULL;
}
if (manager->priv->up_client != NULL) {