diff options
author | Bastien Nocera <hadess@hadess.net> | 2013-10-05 21:29:12 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2013-10-06 14:27:33 +0200 |
commit | 3ca48a0c219a889475581133665329cf0857553b (patch) | |
tree | b3eb9d014ea923c2d81b45b6a777c2603ad6c4a4 /plugins | |
parent | 4fe7689793ab9994d37777af04faa186f2032190 (diff) | |
download | gnome-settings-daemon-3ca48a0c219a889475581133665329cf0857553b.tar.gz |
power: Stop X from turning our screen off
The default timeouts for DPMS in Xorg were finally applied after about
10 years:
http://cgit.freedesktop.org/xorg/xserver/commit/?id=6238bd68bd71323f8b4f1808f34dabe2ae447fe3
So work-around that horror.
https://bugzilla.gnome.org/show_bug.cgi?id=709114
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/power/gpm-common.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/power/gpm-common.c b/plugins/power/gpm-common.c index 596b1ef2..b1ce32a6 100644 --- a/plugins/power/gpm-common.c +++ b/plugins/power/gpm-common.c @@ -29,6 +29,7 @@ #include <glib/gi18n.h> #include <gdk/gdkx.h> #include <X11/extensions/XTest.h> +#include <X11/extensions/dpms.h> #include <canberra-gtk.h> #define GNOME_DESKTOP_USE_UNSTABLE_API @@ -1150,6 +1151,15 @@ disable_builtin_screensaver (gpointer unused) guint gsd_power_enable_screensaver_watchdog (void) { + int dummy; + + /* Make sure that Xorg's DPMS extension never gets in our + * 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)) + DPMSSetTimeouts (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 0, 0, 0); + gdk_error_trap_pop_ignored (); return g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT, disable_builtin_screensaver, NULL); |