1 /* config.h.in --- xscreensaver, Copyright (c) 1997 Jamie Zawinski.
3 * The best way to set these parameters is by running the included `configure'
4 * script. That examines your system, and generates `config.h' from
7 * If something goes very wrong, you can edit `config.h' directly, but beware
8 * that your changes will be lost if you ever run `configure' again.
12 /* *************************************************************************
13 CONFIGURING SERVER EXTENSIONS
14 ************************************************************************* */
16 /* Define this if you have the XReadDisplay extension (I think this is an
17 SGI-only thing; it's in <X11/extensions/readdisplay.h>.) A couple of
18 the screenhacks will take advantage of this if it's available.
20 #undef HAVE_READ_DISPLAY_EXTENSION
22 /* Define this if you have the XHPDisableReset function (an HP only thing.)
24 #undef HAVE_XHPDISABLERESET
26 /* First, some background: there are three distinct server extensions which
27 * are useful to a screen saver program: they are XIDLE, MIT-SCREEN-SAVER,
30 * The XIDLE extension resides in .../contrib/extensions/xidle/ on the X11R5
31 * contrib tape. This extension lets the client get accurate idle-time
32 * information from the X server in a potentially more reliable way than by
33 * simply watching for keyboard and mouse activity. However, the XIDLE
34 * extension has apparently not been ported to X11R6.
36 * The SCREEN_SAVER extension is found (as far as I know) only in the SGI
37 * X server, and it exists in all releases since (at least) Irix 5. The
38 * relevant header file is /usr/include/X11/extensions/XScreenSaver.h.
40 * The similarly-named MIT-SCREEN-SAVER extension came into existence long
41 * after the SGI SCREEN_SAVER extension was already in use, and resides in
42 * .../contrib/extensions/screensaver/ on the X11R6 contrib tape. It is
43 * also found in certain recent X servers built in to NCD X terminals.
45 * The MIT extension does basically the same thing that the XIDLE extension
46 * does, but there are two things wrong with it: first, because of the way
47 * the extension was designed, the `fade' option to XScreenSaver will be
48 * uglier: just before the screen fades out, there will be an unattractive
49 * flicker to black, because this extension blanks the screen *before*
50 * telling us that it is time to do so. Second, this extension is known to
51 * be buggy; on the systems I use, it works, but some people have reported
52 * X server crashes as a result of using it. XScreenSaver uses this
53 * extension rather conservatively, because when I tried to use any of its
54 * more complicated features, I could get it to crash the server at the
57 * In short, the MIT-SCREEN-SAVER extension is a piece of junk. The older
58 * SGI SCREEN_SAVER extension works great, as does XIDLE. It would be nice
59 * If those two existed on more systems, that is, would be adopted by the
60 * X Consortium in favor of their inferior "not-invented-here" entry.
63 /* Define this if you have the XIDLE extension installed. If you have the
64 * XIDLE extension, this is recommended. (You have this extension if the
65 * file /usr/include/X11/extensions/xidle.h exists.) Turning on this flag
66 * lets XScreenSaver work better with servers which support this extension;
67 * but it will still work with servers which do not suport it, so it's a good
68 * idea to compile in support for it if you can.
70 #undef HAVE_XIDLE_EXTENSION
72 /* Define this if you have the MIT-SCREEN-SAVER extension installed. See the
73 * caveats about this extension, above. (It's available if the file
74 * /usr/include/X11/extensions/scrnsaver.h exists.)
76 #undef HAVE_MIT_SAVER_EXTENSION
78 /* Define this if you have the SGI SCREEN_SAVER extension. This is standard
79 * on Irix systems, and not available elsewhere.
81 #undef HAVE_SGI_SAVER_EXTENSION
85 /* *************************************************************************
86 CONFIGURING GRAPHICS TOOLKITS
87 ************************************************************************* */
89 /* Define this if you have Motif.
93 /* Define this if you don't have Motif, but you have Athena (-Xaw).
97 /* Define this if you have Athena, and the version you have includes the
98 * XawViewportSetCoordinates function in Viewport.h (some old versions of
99 * the library didn't have this function.)
101 #undef HAVE_XawViewportSetCoordinates
103 /* Define this if you have the XPM library installed. Some of the demos can
104 * make use of this if it is available.
108 /* Define this if you have the Xmu library. This is standard part of X, and
109 * if your vendor doesn't ship it, you should report that as a bug.
113 /* Define this if you have OpenGL. Some of the demos require it, so if you
114 * don't have it, then those particular demos won't be built. (This won't
115 * affect the screen saver as a whole.)
119 /* Define this if you have GL, but it's the MesaGL variant. (The libraries
120 have different names.) (HAVE_GL should be defined too.)
124 /* Some screenhacks like to run an external program to generate random pieces
125 of text; set this to the one you like ("yow" and "fortune" are the most
126 likely prospects.) Note that this is just the default; X resources can
127 be used to override it.
129 #define ZIPPY_PROGRAM "fortune"
133 /* *************************************************************************
134 CONFIGURING PASSWORD AUTHENTICATION
135 ************************************************************************* */
137 /* Define this to remove the option of locking the screen at all.
141 /* Define this if you want to use Kerberos authentication to lock/unlock the
142 * screen instead of your local password. This currently uses Kerberos V4,
143 * but a V5 server with V4 compatibility will work. WARNING: DO NOT USE AFS
144 * string-to-key passwords with this option. This option currently *only*
145 * works with standard Kerberos des_string_to_key. If your password is an
146 * AFS password and not a kerberos password, it will not authenticate
147 * properly. See the comments in driver/kpasswd.c for more information if you
153 /* Define this if your system uses `shadow' passwords, that is, the passwords
154 * live in /etc/shadow instead of /etc/passwd, and one reads them with
155 * getspnam() instead of getpwnam(). (Note that SCO systems do some random
156 * other thing; others might as well. See the ifdefs in driver/passwd.c if
157 * you're having trouble related to reading passwords.)
159 #undef HAVE_SHADOW_PASSWD
161 /* Define this if your system is Digital or SCO Unix with so-called ``Enhanced
162 Security'', that is, the passwords live in /tcb/files/auth/<x>/<xyz>
163 instead of in /etc/passwd, and one reads them with getprpwnam() instead
166 #undef HAVE_ENHANCED_PASSWD
168 /* Define this if your system is Solaris with ``adjunct'' passwords (this is
169 the version where one gets at the passwords with getpwanam() instead of
170 getpwnam().) I haven't tested this one, let me know if it works.
172 #undef HAVE_ADJUNCT_PASSWD
174 /* Define this if you are running HPUX with so-called ``Secure Passwords''
175 (if you have /usr/include/hpsecurity.h, you probably have this.) I
176 haven't tested this one, let me know if it works.
178 #undef HAVE_HPUX_PASSWD
181 /* *************************************************************************
182 OTHER C ENVIRONMENT JUNK
183 ************************************************************************* */
185 /* Define this to void* if you're using X11R4 or earlier. */
188 /* Define if you have the nice function. */
191 /* Define if you have the setpriority function. */
192 #undef HAVE_SETPRIORITY
194 /* Define to empty if the keyword does not work. */
197 /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
198 #undef HAVE_SYS_WAIT_H
200 /* Define as __inline if that's what the C compiler calls it. */
203 /* Define to `int' if <sys/types.h> doesn't define. */
206 /* Define to `int' if <sys/types.h> doesn't define. */
209 /* Define as the return type of signal handlers (int or void). */
212 /* Define to `unsigned' if <sys/types.h> doesn't define. */
215 /* Define if you have the ANSI C header files. */
218 /* Define if you can safely include both <sys/time.h> and <time.h>. */
219 #undef TIME_WITH_SYS_TIME
221 /* Define if you have the gettimeofday function. */
222 #undef HAVE_GETTIMEOFDAY
224 /* Define if gettimeofday requires two arguments. */
225 #undef GETTIMEOFDAY_TWO_ARGS
227 /* Define if you have the putenv function. */
230 /* Define if you have the select function. */
233 /* Define if you have the getcwd function. */
236 /* Define if you have the getcwd function. */
239 /* Define if you have the uname function. */
242 /* Define if you have the fcntl function. */
245 /* Define if you have the <unistd.h> header file. */