From 49b63caa56a8492ba2a57d4617f883a31d20858c Mon Sep 17 00:00:00 2001 From: leigh123linux Date: May 05 2014 09:43:37 +0000 Subject: Merge branch 'master' into f20 --- 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 - 2.2.2-2 +- add patch to add support for upower critical action + * Fri May 02 2014 Leigh Scott - 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) {