parent
548d7eaa8b
commit
a1ced50fa0
@ -0,0 +1,84 @@ |
||||
diff --git a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
|
||||
index ec805d8a..cf0d6793 100644
|
||||
--- a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
|
||||
+++ b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
|
||||
@@ -11,6 +11,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>
|
||||
diff --git a/plugins/power/gpm-common.c b/plugins/power/gpm-common.c
|
||||
index a7ca87fb..a56a7cdc 100644
|
||||
--- a/plugins/power/gpm-common.c
|
||||
+++ b/plugins/power/gpm-common.c
|
||||
@@ -280,6 +280,18 @@ disable_builtin_screensaver (gpointer unused)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+gboolean
|
||||
+manage_dpms (void)
|
||||
+{
|
||||
+ GSettings *settings;
|
||||
+ gboolean manage_dpms_defaults;
|
||||
+
|
||||
+ settings = g_settings_new ("org.gnome.settings-daemon.plugins.power");
|
||||
+ manage_dpms_defaults = g_settings_get_boolean (settings, "manage-dpms-defaults");
|
||||
+ g_object_unref (settings);
|
||||
+ return manage_dpms_defaults;
|
||||
+}
|
||||
+
|
||||
guint
|
||||
gsd_power_enable_screensaver_watchdog (void)
|
||||
{
|
||||
@@ -290,7 +302,7 @@ gsd_power_enable_screensaver_watchdog (void)
|
||||
* way. The defaults are now applied in Fedora 20 from
|
||||
* being "0" by default to being "600" by default */
|
||||
gdk_x11_display_error_trap_push (gdk_display_get_default ());
|
||||
- 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_x11_display_error_trap_pop_ignored (gdk_display_get_default ());
|
||||
id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT,
|
||||
diff --git a/plugins/power/gpm-common.h b/plugins/power/gpm-common.h
|
||||
index 88a8e00e..af106479 100644
|
||||
--- a/plugins/power/gpm-common.h
|
||||
+++ b/plugins/power/gpm-common.h
|
||||
@@ -34,6 +34,7 @@ gchar *gpm_get_timestring (guint time);
|
||||
gboolean gsd_power_is_hardware_a_vm (void);
|
||||
guint gsd_power_enable_screensaver_watchdog (void);
|
||||
void reset_idletime (void);
|
||||
+gboolean manage_dpms (void);
|
||||
|
||||
/* Backlight helpers */
|
||||
|
||||
diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
|
||||
index c500fa38..445496ee 100644
|
||||
--- a/plugins/power/gsd-power-manager.c
|
||||
+++ b/plugins/power/gsd-power-manager.c
|
||||
@@ -1033,6 +1033,9 @@ backlight_enable (GsdPowerManager *manager)
|
||||
gboolean ret;
|
||||
GError *error = NULL;
|
||||
|
||||
+ if (!(manage_dpms ()))
|
||||
+ return;
|
||||
+
|
||||
iio_proxy_claim_light (manager, TRUE);
|
||||
ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen,
|
||||
GNOME_RR_DPMS_ON,
|
||||
@@ -1052,6 +1055,9 @@ backlight_disable (GsdPowerManager *manager)
|
||||
gboolean ret;
|
||||
GError *error = NULL;
|
||||
|
||||
+ if (!(manage_dpms ()))
|
||||
+ return;
|
||||
+
|
||||
iio_proxy_claim_light (manager, FALSE);
|
||||
ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen,
|
||||
GNOME_RR_DPMS_OFF,
|
Loading…
Reference in new issue