summaryrefslogtreecommitdiff
path: root/src/up-daemon.c
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2013-10-14 14:33:54 +0200
committerBastien Nocera <hadess@hadess.net>2013-10-14 14:38:32 +0200
commitb446cac8f697fb1417f8d07190f95fa40b690260 (patch)
treeb1646d59e3fc1a4265490bdd681d749bb0bab723 /src/up-daemon.c
parent77c3278ff525edf30e2e7adb417a8944b59ccefa (diff)
downloadupower-b446cac8f697fb1417f8d07190f95fa40b690260.tar.gz
daemon: Add new WarningLevel "Discharging"
When UPSes are discharging, we should have a warning already, as it means that mains power has been lost to the UPS (though not to the computer).
Diffstat (limited to 'src/up-daemon.c')
-rw-r--r--src/up-daemon.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/up-daemon.c b/src/up-daemon.c
index 2018a91..ce1d5c5 100644
--- a/src/up-daemon.c
+++ b/src/up-daemon.c
@@ -551,6 +551,7 @@ up_daemon_compute_warning_level (UpDaemon *daemon,
gint64 time_to_empty)
{
gboolean use_percentage = TRUE;
+ UpDeviceLevel default_level = UP_DEVICE_LEVEL_NONE;
if (state != UP_DEVICE_STATE_DISCHARGING)
return UP_DEVICE_LEVEL_NONE;
@@ -566,6 +567,8 @@ up_daemon_compute_warning_level (UpDaemon *daemon,
return UP_DEVICE_LEVEL_LOW;
else
return UP_DEVICE_LEVEL_NONE;
+ } else if (kind == UP_DEVICE_KIND_UPS) {
+ default_level = UP_DEVICE_LEVEL_DISCHARGING;
}
if (!power_supply || !daemon->priv->use_percentage_for_policy)
@@ -573,7 +576,7 @@ up_daemon_compute_warning_level (UpDaemon *daemon,
if (use_percentage) {
if (percentage > daemon->priv->low_percentage)
- return UP_DEVICE_LEVEL_NONE;
+ return default_level;
if (percentage > daemon->priv->critical_percentage)
return UP_DEVICE_LEVEL_LOW;
if (percentage > daemon->priv->action_percentage)
@@ -581,7 +584,7 @@ up_daemon_compute_warning_level (UpDaemon *daemon,
return UP_DEVICE_LEVEL_ACTION;
} else {
if (time_to_empty > daemon->priv->low_time)
- return UP_DEVICE_LEVEL_NONE;
+ return default_level;
if (time_to_empty > daemon->priv->critical_time)
return UP_DEVICE_LEVEL_LOW;
if (time_to_empty > daemon->priv->action_time)