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 2016-05-13 19:33:51 +0000
+++ data/org.gnome.settings-daemon.plugins.power.gschema.xml.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 unity-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="idle-brightness" type="i">
<default>30</default>
<summary>The brightness of the screen when idle</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,
|