http://packetstormsecurity.org/UNIX/admin/xscreensaver-3.28.tar.gz
[xscreensaver] / driver / timers.c
index 61a0155d097f26d2d73d1224d877ae2d1acc9e4b..d810b4924d32e934de1d62ddc3e0c271ef8c8be2 100644 (file)
@@ -230,8 +230,6 @@ cycle_timer (XtPointer closure, XtIntervalId *id)
   else
     {
       maybe_reload_init_file (si);
-      if (p->verbose_p)
-       fprintf (stderr, "%s: changing graphics hacks.\n", blurb());
       kill_screenhack (si);
 
       if (!si->throttled_p)
@@ -1073,9 +1071,18 @@ static void
 watchdog_timer (XtPointer closure, XtIntervalId *id)
 {
   saver_info *si = (saver_info *) closure;
+  saver_preferences *p = &si->prefs;
 
   disable_builtin_screensaver (si, False);
 
+  /* If the DPMS settings on the server have changed, change them back to
+     what ~/.xscreensaver says they should be. */
+  sync_server_dpms_settings (si->dpy, p->dpms_enabled_p,
+                             p->dpms_standby / 1000,
+                             p->dpms_suspend / 1000,
+                             p->dpms_off / 1000,
+                             False);
+
   if (si->screen_blanked_p)
     {
       Bool running_p = screenhack_running_p (si);
@@ -1099,11 +1106,12 @@ watchdog_timer (XtPointer closure, XtIntervalId *id)
           raise_window (si, True, True, running_p);
         }
 
-      if (!monitor_powered_on_p (si))
+      if (screenhack_running_p (si) &&
+          !monitor_powered_on_p (si))
        {
          if (si->prefs.verbose_p)
            fprintf (stderr,
-                    "%s: server reports that monitor has powered down; "
+                    "%s: X says monitor has powered down; "
                     "killing running hacks.\n", blurb());
          kill_screenhack (si);
        }