-- a/plugins/power/csd-power-manager.c +++ b/plugins/power/csd-power-manager.c @@ -33,6 +33,8 @@ #include #include +#include + #define GNOME_DESKTOP_USE_UNSTABLE_API #include @@ -3967,6 +3790,17 @@ csd_power_manager_start (CsdPowerManager /* set the initial dim time that can adapt for the user */ refresh_idle_dim_settings (manager); + /* Make sure that Xorg's DPMS extension never gets in our way. The defaults seem to have changed in Xorg 1.14 + * being "0" by default to being "600" by default + * https://bugzilla.gnome.org/show_bug.cgi?id=709114 + */ + gdk_error_trap_push (); + int dummy; + 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 (); + manager->priv->xscreensaver_watchdog_timer_id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT, disable_builtin_screensaver, NULL);