diff options
author | Ali Abdallah <ali@ali-xfce.org> | 2009-10-05 16:40:50 +0000 |
---|---|---|
committer | Ali Abdallah <ali@ali-xfce.org> | 2009-10-05 16:40:50 +0000 |
commit | 469e35d1e79c7898b8aaf2b7d345fd49cfd1ed8d (patch) | |
tree | 7efd540938d823e32d2f369f0b0641a91039017e | |
parent | e701f3498aa8e47f832c41e59fec0afe0b645475 (diff) | |
download | ixfce4-power-manager-469e35d1e79c7898b8aaf2b7d345fd49cfd1ed8d.tar.gz |
Because on some systems we might not have the brightness keys mapped
so brightness changes are not reflected to xfpm when keys are pressed,
save the actual brightness before dimming the screen on idle to restore it
afterword. (bug #5811).
-rw-r--r-- | src/xfpm-brightness-hal.c | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/src/xfpm-brightness-hal.c b/src/xfpm-brightness-hal.c index 75a36b13..23f4929b 100644 --- a/src/xfpm-brightness-hal.c +++ b/src/xfpm-brightness-hal.c @@ -168,6 +168,19 @@ xfpm_brightness_hal_get_device (XfpmBrightnessHal *brg, const gchar *udi) g_object_unref (device); } +static void +xfpm_brightness_hal_read_hal_level (XfpmBrightnessHal *brg) +{ + GError *error = NULL; + + brg->priv->hw_level = xfpm_brightness_hal_get_level (brg, &error); + + if ( error ) + { + g_warning ("Error getting brightness level: %s\n", error->message); + g_error_free (error); + } +} static gboolean xfpm_brightness_hal_setup (XfpmBrightnessHal *brg) @@ -188,7 +201,8 @@ xfpm_brightness_hal_setup (XfpmBrightnessHal *brg) xfpm_brightness_hal_get_device (brg, udi[0]); xfpm_brightness_hal_set_proxy (brg, udi[0]); - brg->priv->hw_level = xfpm_brightness_hal_get_level (brg, NULL); + xfpm_brightness_hal_read_hal_level (brg); + TRACE ("Current hw level =%d\n", brg->priv->hw_level); hal_manager_free_string_array (udi); @@ -198,7 +212,6 @@ xfpm_brightness_hal_setup (XfpmBrightnessHal *brg) static void xfpm_brightness_hal_up (XfpmBrightnessHal *brg) { - GError *error = NULL; gboolean show_popup; gboolean enable_brightness; @@ -217,14 +230,7 @@ xfpm_brightness_hal_up (XfpmBrightnessHal *brg) } signal: - brg->priv->hw_level = xfpm_brightness_hal_get_level (brg, &error); - - if ( error ) - { - g_warning ("Error getting brightness level: %s\n", error->message); - g_error_free (error); - return; - } + xfpm_brightness_hal_read_hal_level (brg); if ( show_popup ) g_signal_emit (G_OBJECT (brg), signals [BRIGHTNESS_UP], 0, brg->priv->hw_level); @@ -233,9 +239,7 @@ signal: static void xfpm_brightness_hal_down (XfpmBrightnessHal *brg) { - GError *error = NULL; - gboolean show_popup; - gboolean enable_brightness; + gboolean show_popup, enable_brightness; g_object_get (G_OBJECT (brg->priv->conf), ENABLE_BRIGHTNESS_CONTROL, &enable_brightness, @@ -252,14 +256,7 @@ xfpm_brightness_hal_down (XfpmBrightnessHal *brg) } signal: - brg->priv->hw_level = xfpm_brightness_hal_get_level (brg, &error); - - if ( error ) - { - g_warning ("Error getting brightness level: %s\n", error->message); - g_error_free (error); - return; - } + xfpm_brightness_hal_read_hal_level (brg); if ( show_popup ) g_signal_emit (G_OBJECT (brg), signals [BRIGHTNESS_UP], 0, brg->priv->hw_level); @@ -319,6 +316,8 @@ xfpm_brightness_timeout_on_ac (XfpmBrightnessHal *brg) level = xfpm_brightness_hal_get_level (brg, &error); + brg->priv->hw_level = level; + if ( error ) { g_warning ("Error getting brightness level: %s\n", error->message); @@ -344,6 +343,8 @@ xfpm_brightness_timeout_on_battery (XfpmBrightnessHal *brg) level = xfpm_brightness_hal_get_level (brg, &error); + brg->priv->hw_level = level; + if ( error ) { g_warning ("Error getting brightness level: %s\n", error->message); |