/* xset.c --- interacting with server extensions and the builtin screensaver.
- * xscreensaver, Copyright (c) 1991-1998 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 1991-2004 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
#endif /* HAVE_XIDLE_EXTENSION */
+\f
+/* Resize and Rotate server extension hackery.
+ */
+
+#ifdef HAVE_RANDR
+
+# include <X11/extensions/Xrandr.h>
+
+Bool
+query_randr_extension (saver_info *si)
+{
+ saver_preferences *p = &si->prefs;
+ Bool ok = XRRQueryExtension (si->dpy,
+ &si->randr_event_number,
+ &si->randr_error_number);
+ if (ok)
+ {
+ int nscreens = ScreenCount (si->dpy); /* number of *real* screens */
+ int i;
+
+ if (p->verbose_p)
+ fprintf (stderr, "%s: selecting RANDR events\n", blurb());
+ for (i = 0; i < nscreens; i++)
+ XRRSelectInput (si->dpy, RootWindow (si->dpy, i),
+ RRScreenChangeNotifyMask);
+ }
+
+ return ok;
+}
+
+#endif /* HAVE_XIDLE_EXTENSION */
+
+
\f
/* Figuring out what the appropriate XSetScreenSaver() parameters are
(one wouldn't expect this to be rocket science.)
desired_prefer_blank != current_prefer_blank ||
desired_allow_exp != current_allow_exp)
{
- if (p->verbose_p && unblank_screen_p)
- /* Used to print this all the time, but really, nobody cares.
- Now only print it when verbose. */
- fprintf (stderr,
- "%s disabling server builtin screensaver.\n"
- "%s: you can re-enable it with \"xset s on\".\n",
- blurb(), blurb());
-
if (p->verbose_p)
- fprintf (stderr, "%s: (xset s %d %d; xset s %s; xset s %s)\n", blurb(),
+ fprintf (stderr,
+ "%s: disabling server builtin screensaver:\n"
+ "%s: (xset s %d %d; xset s %s; xset s %s)\n",
+ blurb(), blurb(),
desired_server_timeout, desired_server_interval,
(desired_prefer_blank ? "blank" : "noblank"),
(desired_allow_exp ? "expose" : "noexpose"));