summarylogtreecommitdiffstats
path: root/manage-dpms.patch
blob: 2a834e90df66bd62b424361b97dc1e599cd708b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
=== modified file 'data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in'
--- data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in	2016-05-13 19:33:51 +0000
+++ data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in	2016-05-13 19:57:07 +0000
@@ -5,6 +5,11 @@
       <_summary>Activation of this plugin</_summary>
       <_description>Whether this plugin would be activated by gnome-settings-daemon or not</_description>
     </key>
+    <key name="manage-dpms-defaults" type="b">
+      <default>false</default>
+      <summary>Reset X DPMS values</summary>
+      <description>Whether DPMS values will be adjusted by gnome-settings-daemon</description>
+    </key>
     <key name="priority" type="i">
       <default>0</default>
       <_summary>Priority to use for this plugin</_summary>

=== modified file 'plugins/power/gpm-common.c'
--- plugins/power/gpm-common.c	2016-05-13 19:33:51 +0000
+++ plugins/power/gpm-common.c	2016-05-13 19:57:07 +0000
@@ -283,6 +283,14 @@
         return TRUE;
 }
 
+gboolean
+manage_dpms (void)
+{
+        GSettings *settings;
+        settings = g_settings_new ("org.gnome.settings-daemon.plugins.power");
+        return g_settings_get_boolean (settings, "manage-dpms-defaults");
+}
+
 guint
 gsd_power_enable_screensaver_watchdog (void)
 {
@@ -293,7 +301,7 @@
          * way. The defaults are now applied in Fedora 20 from
          * being "0" by default to being "600" by default */
         gdk_error_trap_push ();
-        if (DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy))
+        if (manage_dpms () && DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy))
                 DPMSSetTimeouts (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 0, 0, 0);
         gdk_error_trap_pop_ignored ();
         id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT,

=== modified file 'plugins/power/gpm-common.h'
--- plugins/power/gpm-common.h	2016-05-13 19:33:51 +0000
+++ plugins/power/gpm-common.h	2016-05-13 19:57:07 +0000
@@ -35,6 +35,7 @@
 gboolean         gsd_power_is_hardware_a_tablet         (void);
 guint            gsd_power_enable_screensaver_watchdog  (void);
 void             reset_idletime                         (void);
+gboolean         manage_dpms                            (void);
 
 /* Backlight helpers */
 

=== modified file 'plugins/power/gsd-power-manager.c'
--- plugins/power/gsd-power-manager.c	2016-05-13 19:33:51 +0000
+++ plugins/power/gsd-power-manager.c	2016-05-13 19:57:07 +0000
@@ -1015,6 +1015,9 @@
         gboolean ret;
         GError *error = NULL;
 
+        if (!(manage_dpms ()))
+                return;
+
         iio_proxy_claim_light (manager, TRUE);
         ret = gnome_rr_screen_set_dpms_mode (manager->priv->rr_screen,
                                              GNOME_RR_DPMS_ON,
@@ -1036,6 +1039,9 @@
         gboolean ret;
         GError *error = NULL;
 
+        if (!(manage_dpms ()))
+               return;
+
         iio_proxy_claim_light (manager, FALSE);
         ret = gnome_rr_screen_set_dpms_mode (manager->priv->rr_screen,
                                              GNOME_RR_DPMS_OFF,