[cinnamon-settings-daemon] add patch to add support for upower critical action
leigh123linux
leigh123linux at fedoraproject.org
Mon May 5 09:40:54 UTC 2014
commit 922aad267be1e4c0958ce06a06d12dd5772355e1
Author: leigh123linux <leigh123linux at googlemail.com>
Date: Mon May 5 10:41:08 2014 +0100
add patch to add support for upower critical action
cinnamon-settings-daemon.spec | 6 ++-
upower_critical-action.patch | 102 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 107 insertions(+), 1 deletions(-)
---
diff --git a/cinnamon-settings-daemon.spec b/cinnamon-settings-daemon.spec
index d1e3201..18f0c66 100644
--- a/cinnamon-settings-daemon.spec
+++ b/cinnamon-settings-daemon.spec
@@ -2,7 +2,7 @@
Name: cinnamon-settings-daemon
Version: 2.2.2
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: The daemon sharing settings from CINNAMON to GTK+/KDE applications
Group: System Environment/Daemons
@@ -11,6 +11,7 @@ URL: http://cinnamon.linuxmint.com
# To generate tarball
# wget https://github.com/linuxmint/cinnamon-settings-daemon/tarball/%%{_internal_version} -O cinnamon-settings-daemon-%%{version}.git%%{_internal_version}.tar.gz
Source0: http://leigh123linux.fedorapeople.org/pub/cinnamon-settings-daemon/source/cinnamon-settings-daemon-%{version}.tar.gz
+Patch0: upower_critical-action.patch
Requires: cinnamon-control-center-filesystem
Obsoletes: cinnamon-settings-daemon-updates
@@ -130,6 +131,9 @@ fi
%changelog
+* Mon May 05 2014 Leigh Scott <leigh123linux at googlemail.com> - 2.2.2-2
+- add patch to add support for upower critical action
+
* Fri May 02 2014 Leigh Scott <leigh123linux at googlemail.com> - 2.2.2-1
- update to 2.2.2
diff --git a/upower_critical-action.patch b/upower_critical-action.patch
new file mode 100644
index 0000000..f0f6bef
--- /dev/null
+++ b/upower_critical-action.patch
@@ -0,0 +1,102 @@
+--- a/plugins/power/csd-power-manager.c
++++ b/plugins/power/csd-power-manager.c
+@@ -1159,6 +1159,19 @@ engine_ups_discharging (CsdPowerManager
+ }
+
+ static CsdPowerActionType
++#if UP_CHECK_VERSION(0,99,0)
++manager_critical_action_get (CsdPowerManager *manager)
++{
++ CsdPowerActionType policy;
++ char *action;
++ action = up_client_get_critical_action (manager->priv->up_client);
++ /* We don't make the difference between HybridSleep and Hibernate */
++ if (g_strcmp0 (action, "PowerOff") == 0)
++ policy = CSD_POWER_ACTION_SHUTDOWN;
++ else
++ policy = CSD_POWER_ACTION_HIBERNATE;
++ g_free (action);
++#else
+ manager_critical_action_get (CsdPowerManager *manager,
+ gboolean is_ups)
+ {
+@@ -1166,21 +1179,16 @@ manager_critical_action_get (CsdPowerMan
+
+ policy = g_settings_get_enum (manager->priv->settings, "critical-battery-action");
+ if (policy == CSD_POWER_ACTION_SUSPEND) {
+- if (is_ups == FALSE
+-#if ! UP_CHECK_VERSION(0,99,0)
+- && up_client_get_can_suspend (manager->priv->up_client)
+-#endif
+- )
++ if (is_ups == FALSE &&
++ up_client_get_can_suspend (manager->priv->up_client))
+ return policy;
+ return CSD_POWER_ACTION_SHUTDOWN;
+ } else if (policy == CSD_POWER_ACTION_HIBERNATE) {
+-#if ! UP_CHECK_VERSION(0,99,0)
+ if (up_client_get_can_hibernate (manager->priv->up_client))
+-#endif
+ return policy;
+ return CSD_POWER_ACTION_SHUTDOWN;
+ }
+-
++#endif
+ return policy;
+ }
+
+@@ -1188,14 +1196,18 @@ static gboolean
+ manager_critical_action_do (CsdPowerManager *manager,
+ gboolean is_ups)
+ {
++#if ! UP_CHECK_VERSION(0,99,0)
+ CsdPowerActionType action_type;
++#endif
+
+ /* stop playing the alert as it's too late to do anything now */
+ if (manager->priv->critical_alert_timeout_id > 0)
+ play_loop_stop (manager);
+
++#if ! UP_CHECK_VERSION(0,99,0)
+ action_type = manager_critical_action_get (manager, is_ups);
+ do_power_action_type (manager, action_type);
++#endif
+
+ return FALSE;
+ }
+@@ -1428,7 +1440,11 @@ engine_charge_critical (CsdPowerManager
+ }
+
+ /* we have to do different warnings depending on the policy */
++#if UP_CHECK_VERSION(0,99,0)
++ policy = manager_critical_action_get (manager);
++#else
+ policy = manager_critical_action_get (manager, FALSE);
++#endif
+
+ /* use different text for different actions */
+ if (policy == CSD_POWER_ACTION_NOTHING) {
+@@ -1612,7 +1628,11 @@ engine_charge_action (CsdPowerManager *m
+ title = _("Laptop battery critically low");
+
+ /* we have to do different warnings depending on the policy */
++#if UP_CHECK_VERSION(0,99,0)
++ policy = manager_critical_action_get (manager);
++#else
+ policy = manager_critical_action_get (manager, FALSE);
++#endif
+
+ /* use different text for different actions */
+ if (policy == CSD_POWER_ACTION_NOTHING) {
+@@ -1648,7 +1668,11 @@ engine_charge_action (CsdPowerManager *m
+ title = _("UPS critically low");
+
+ /* we have to do different warnings depending on the policy */
++#if UP_CHECK_VERSION(0,99,0)
++ policy = manager_critical_action_get (manager);
++#else
+ policy = manager_critical_action_get (manager, TRUE);
++#endif
+
+ /* use different text for different actions */
+ if (policy == CSD_POWER_ACTION_NOTHING) {
More information about the scm-commits
mailing list