[gnome-settings-daemon] power: check environment for reducing action delay
- From: Martin Pitt <martinpitt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] power: check environment for reducing action delay
- Date: Wed, 19 Dec 2012 15:36:30 +0000 (UTC)
commit ab6f1596ae698e333bdf0559d0295013c4c2d3f4
Author: Martin Pitt <martinpitt gnome org>
Date: Sun Dec 2 19:14:59 2012 +0100
power: check environment for reducing action delay
When testing the power plugin, it is unnerving having to wait the extra 20
seconds between announcing the critical action and executing it. Check
$GSD_ACTION_DELAY environment variable and wait for the specified number of
seconds instead.
https://bugzilla.gnome.org/show_bug.cgi?id=685951
plugins/power/gsd-power-manager.c | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
---
diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
index f19f912..a9c2d86 100644
--- a/plugins/power/gsd-power-manager.c
+++ b/plugins/power/gsd-power-manager.c
@@ -230,6 +230,10 @@ G_DEFINE_TYPE (GsdPowerManager, gsd_power_manager, G_TYPE_OBJECT)
static gpointer manager_object = NULL;
+/* Time between notifying the user about a critical action and executing it.
+ * This can be changed with the $GSD_ACTION_DELAY environment variable. */
+static guint critical_action_delay = 20;
+
GQuark
gsd_power_manager_error_quark (void)
{
@@ -1743,7 +1747,9 @@ engine_charge_action (GsdPowerManager *manager, UpDevice *device)
}
/* wait 20 seconds for user-panic */
- timer_id = g_timeout_add_seconds (20, (GSourceFunc) manager_critical_action_do_cb, manager);
+ timer_id = g_timeout_add_seconds (critical_action_delay,
+ (GSourceFunc) manager_critical_action_do_cb,
+ manager);
g_source_set_name_by_id (timer_id, "[GsdPowerManager] battery critical-action");
} else if (kind == UP_DEVICE_KIND_UPS) {
@@ -1772,7 +1778,9 @@ engine_charge_action (GsdPowerManager *manager, UpDevice *device)
}
/* wait 20 seconds for user-panic */
- timer_id = g_timeout_add_seconds (20, (GSourceFunc) manager_critical_ups_action_do_cb, manager);
+ timer_id = g_timeout_add_seconds (critical_action_delay,
+ (GSourceFunc) manager_critical_action_do_cb,
+ manager);
g_source_set_name_by_id (timer_id, "[GsdPowerManager] ups critical-action");
}
@@ -3283,7 +3291,19 @@ refresh_idle_dim_settings (GsdPowerManager *manager)
static void
gsd_power_manager_class_init (GsdPowerManagerClass *klass)
{
+ const char* env_action_delay;
+
g_type_class_add_private (klass, sizeof (GsdPowerManagerPrivate));
+
+ env_action_delay = g_getenv ("GSD_ACTION_DELAY");
+ if (env_action_delay != NULL) {
+ critical_action_delay = atoi (env_action_delay);
+ /* use the default for invalid values */
+ if (critical_action_delay < 0) {
+ g_warning ("Invalid value '%s' of $GSD_ACTION_DELAY, ignoring", env_action_delay);
+ critical_action_delay = 20;
+ }
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]