summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAli Abdallah <ali@ali-xfce.org>2009-10-05 16:40:50 +0000
committerAli Abdallah <ali@ali-xfce.org>2009-10-05 16:40:50 +0000
commit469e35d1e79c7898b8aaf2b7d345fd49cfd1ed8d (patch)
tree7efd540938d823e32d2f369f0b0641a91039017e
parente701f3498aa8e47f832c41e59fec0afe0b645475 (diff)
downloadixfce4-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.c43
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);