Bool ok = XRRQueryExtension (si->dpy,
&si->randr_event_number,
&si->randr_error_number);
+
if (ok)
{
int nscreens = ScreenCount (si->dpy); /* number of *real* screens */
if (p->verbose_p)
fprintf (stderr, "%s: selecting RANDR events\n", blurb());
for (i = 0; i < nscreens; i++)
+# ifdef RRScreenChangeNotifyMask /* randr.h 1.5, 2002/09/29 */
XRRSelectInput (si->dpy, RootWindow (si->dpy, i),
RRScreenChangeNotifyMask);
+# else /* !RRScreenChangeNotifyMask */ /* Xrandr.h 1.4, 2001/06/07 */
+ XRRScreenChangeSelectInput (si->dpy, RootWindow (si->dpy, i), True);
+# endif /* !RRScreenChangeNotifyMask */
}
return ok;
}
-#endif /* HAVE_XIDLE_EXTENSION */
+#endif /* HAVE_RANDR */
\f
/* I suspect (but am not sure) that DontAllowExposures might have
something to do with powering off the monitor as well, at least
- on some systems that don't support XDPMS? Who know... */
+ on some systems that don't support XDPMS? Who knows... */
desired_allow_exp = AllowExposures;
if (si->using_mit_saver_extension || si->using_sgi_saver_extension)
desired_server_timeout = 0;
}
+ /* XSetScreenSaver() generates BadValue if either timeout parameter
+ exceeds 15 bits (signed short.) That is 09:06:07.
+ */
+ if (desired_server_timeout > 0x7FFF) desired_server_timeout = 0x7FFF;
+ if (desired_server_interval > 0x7FFF) desired_server_interval = 0x7FFF;
+
if (desired_server_timeout != current_server_timeout ||
desired_server_interval != current_server_interval ||
desired_prefer_blank != current_prefer_blank ||