summaryrefslogtreecommitdiff
path: root/xfce-extra/xfce4-power-manager/files
diff options
context:
space:
mode:
Diffstat (limited to 'xfce-extra/xfce4-power-manager/files')
-rw-r--r--xfce-extra/xfce4-power-manager/files/xfce4-power-manager-1.3.0-restore_brightness_level_after_sleep.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/xfce-extra/xfce4-power-manager/files/xfce4-power-manager-1.3.0-restore_brightness_level_after_sleep.patch b/xfce-extra/xfce4-power-manager/files/xfce4-power-manager-1.3.0-restore_brightness_level_after_sleep.patch
new file mode 100644
index 00000000..7687ae4e
--- /dev/null
+++ b/xfce-extra/xfce4-power-manager/files/xfce4-power-manager-1.3.0-restore_brightness_level_after_sleep.patch
@@ -0,0 +1,70 @@
+http://bugzilla.xfce.org/show_bug.cgi?id=10535
+
+From 4c14d83794b94ac18519806314464599d5e905f6 Mon Sep 17 00:00:00 2001
+From: Eric Koegel <eric.koegel@gmail.com>
+Date: Sat, 31 May 2014 20:09:56 +0300
+Subject: Restore screen power after sleep
+
+With this patch xfpm will cache the brightness level before going
+to sleep and set it back to that level after resuming from sleep.
+
+diff --git a/common/xfpm-brightness.c b/common/xfpm-brightness.c
+index e18c617..e49338e 100644
+--- a/common/xfpm-brightness.c
++++ b/common/xfpm-brightness.c
+@@ -382,7 +382,7 @@ xfpm_brightness_helper_get_level (XfpmBrightness *brg, gint32 *level)
+ }
+
+ static gboolean
+-xfpm_brightness_helper_set_level (XfpmBrightness *brg, gint level)
++xfpm_brightness_helper_set_level (XfpmBrightness *brg, gint32 level)
+ {
+ gboolean ret;
+ GError *error = NULL;
+diff --git a/src/xfpm-power.c b/src/xfpm-power.c
+index 9d98fab..b42210b 100644
+--- a/src/xfpm-power.c
++++ b/src/xfpm-power.c
+@@ -60,6 +60,7 @@
+ #include "egg-idletime.h"
+ #include "xfpm-systemd.h"
+ #include "xfpm-suspend.h"
++#include "xfpm-brightness.h"
+
+
+ static void xfpm_power_finalize (GObject *object);
+@@ -312,6 +313,8 @@ xfpm_power_sleep (XfpmPower *power, const gchar *sleep_time, gboolean force)
+ #ifdef WITH_NETWORK_MANAGER
+ gboolean network_manager_sleep;
+ #endif
++ XfpmBrightness *brightness;
++ gint32 brightness_level;
+
+ if ( power->priv->inhibited && force == FALSE)
+ {
+@@ -344,6 +347,10 @@ xfpm_power_sleep (XfpmPower *power, const gchar *sleep_time, gboolean force)
+ #endif
+
+ g_signal_emit (G_OBJECT (power), signals [SLEEPING], 0);
++ /* Get the current brightness level so we can use it after we suspend */
++ brightness = xfpm_brightness_new();
++ xfpm_brightness_setup (brightness);
++ xfpm_brightness_get_level (brightness, &brightness_level);
+
+ #ifdef WITH_NETWORK_MANAGER
+ g_object_get (G_OBJECT (power->priv->conf),
+@@ -429,6 +436,11 @@ xfpm_power_sleep (XfpmPower *power, const gchar *sleep_time, gboolean force)
+ }
+
+ g_signal_emit (G_OBJECT (power), signals [WAKING_UP], 0);
++ /* Check/update any changes while we slept */
++ xfpm_power_get_properties (power);
++ /* Restore the brightness level from before we suspended */
++ xfpm_brightness_set_level (brightness, brightness_level);
++
+ #ifdef WITH_NETWORK_MANAGER
+ if ( network_manager_sleep )
+ {
+--
+cgit v0.10.1
+