ftp://ftp.uni-heidelberg.de/pub/X11/contrib/applications/xscreensaver-1.27.tar.Z
[xscreensaver] / driver / xscreensaver.man
1 .de EX          \"Begin example
2 .ne 5
3 .if n .sp 1
4 .if t .sp .5
5 .nf
6 .in +.5i
7 ..
8 .de EE
9 .fi
10 .in -.5i
11 .if n .sp 1
12 .if t .sp .5
13 ..
14 .TH XScreenSaver 1 "6-Jan-95" "X Version 11"
15 .SH NAME
16 xscreensaver - graphics hack and screen locker, launched when the user is idle
17 .SH SYNOPSIS
18 .B xscreensaver
19 [\-display \fIhost:display.screen\fP] [\-timeout \fIint\fP] [\-cycle \fIint\fP] [\-nice \fIint\fP] [\-verbose] [\-silent] [\-lock] [\-no\-lock] [\-lock\-timeout \fIint\fP] [\-demo] [\-visual \fIvisual\fP] [\-install] [\-no\-install] [\-xidle\-extension] [\-no\-xidle\-extension] [\-sgi\-extension] [\-no\-sgi\-extension] [\-mit\-extension] [\-no\-mit\-extension] [\-xrm \fIresources\fP]
20 .SH DESCRIPTION
21 The \fIxscreensaver\fP program waits until the keyboard and mouse have been 
22 idle for a period, and then runs a graphics demo chosen at random.  It 
23 turns off as soon as there is any mouse or keyboard activity.
24
25 This program can lock your terminal in order to prevent others from using it,
26 though its default mode of operation is merely to display pretty pictures on
27 your screen when it is not in use.  
28
29 The benefit that this program has over the combination of the
30 .BR xlock (1)
31 and
32 .BR xautolock (1)
33 programs is the ease with which new graphics hacks can be installed.  You
34 don't need to recompile (or even re-run) this program to add a new display
35 mode.
36 .SH OPTIONS
37 .I xscreensaver
38 accepts the following options:
39 .TP 8
40 .B \-timeout \fIminutes\fP
41 The screensaver will activate after the keyboard and mouse have been idle
42 for this many minutes.
43 .TP 8
44 .B \-cycle \fIminutes\fP
45 After the screensaver has been running for this many minutes, the currently
46 running sub-process will be killed (with \fBSIGTERM\fP), and a new one 
47 started.  If this is 0, then the sub-process will not be killed; only one
48 demo will run until the screensaver is deactivated by user activity.
49 .TP 8
50 .B \-nice \fIinteger\fP
51 The sub-processes created by \fIxscreensaver\fP will be ``niced'' to this
52 level, so that they do not consume cycles that are needed elsewhere.
53 .TP 8
54 .B \-verbose
55 Print diagnostics.
56 .TP 8
57 .B \-silent
58
59 .TP 8
60 .B \-xidle\-extension
61 Use the \fBXIDLE\fP server extension to decide whether the user is idle.
62 This is the default if \fIxscreensaver\fP has been compiled with support
63 for this extension.  On X11R4 or X11R5 systems, the XIdle method is faster 
64 and more reliable than what will be done otherwise, so use it if you can.
65 .TP 8
66 .B \-no\-xidle\-extension
67 Don't use the \fBXIDLE\fP server extension.
68 .TP 8
69 .B \-sgi\-extension
70 Use the SGI \fBSCREEN_SAVER\fP server extension to decide whether the user
71 is idle.  This is the default if \fIxscreensaver\fP has been compiled with
72 support for this extension.  On SGI systems, the \fBSCREEN_SAVER\fP 
73 method is faster and more reliable than what will be done otherwise, so use
74 it if you can.
75 .TP 8
76 .B \-no\-sgi\-extension
77 Don't use the SGI \fBSCREEN_SAVER\fP server extension.
78 .TP 8
79 .B \-mit\-extension
80 Use the \fBMIT\-SCREEN\-SAVER\fP server extension to decide whether the user
81 is idle.  This is the default if \fIxscreensaver\fP has been compiled with
82 support for this extension.  This extension is flaky, so it's use is not
83 really recommended.
84 .TP 8
85 .B \-no\-mit\-extension
86 Don't use the \fBMIT\-SCREEN\-SAVER\fP server extension.
87 .TP 8
88 .B \-lock
89 Enable locking: before the screensaver will turn off, it requires you to
90 type the password of the person who launched the screensaver, or the root
91 password.  (Note: this doesn't work if the screensaver is launched
92 by
93 .BR xdm (1)
94 because it can't know the user-id of the logged-in user.)
95 .TP 8
96 .B \-no\-lock
97 Disable locking.  This is the default.
98 .TP 8
99 .B \-lock\-timeout \fIminutes\fP
100 This is how long after the screensaver activates that locking is enabled.
101 For example, if this is 5, then any user activity within five minutes of
102 the time when the screensaver activated will cause the screen to unblank
103 without requiring a password.  After 5 minutes, a password will be
104 required.  The default is 0, meaning that if locking is enabled, then
105 a password will be required as soon as the screensaver activates.
106 .TP 8
107 .B \-visual \fIvisual\fP
108 Specify which visual to use.  Legal values are:
109 .RS 8
110 .TP 8
111 .B best
112 Use the visual which supports the most writable color cells; this is
113 the default.
114 .TP 8
115 .B default
116 Use the screen's default visual (the visual of the root window.)  This is
117 not necessarily the most colorful visual, which is why it is not the default.
118 .TP 8
119 .I class
120 One of \fBStaticGray\fP, \fBStaticColor\fP, \fBTrueColor\fP, \fBGrayScale\fP, 
121 \fBPseudoColor\fP, or \fBDirectColor\fP.  Selects the deepest visual of
122 the given class.
123 .TP 8
124 .I number
125 A number (decimal or hex) is interpreted as a visual id number, as reported
126 by the
127 .BR xdpyinfo (1)
128 program; in this way you can select a shallower visual if desired.
129 .RE
130 .TP 8
131 .B \-no\-install
132 Use the default colormap.  This is the default.
133 .TP 8
134 .B \-install
135 Install a private colormap while the screensaver is on, so that the graphics
136 hacks can get as many colors as possible.
137 .TP 8
138 .B \-demo
139 Enter the interactive demo mode immediately after startup.  Normally
140 demo mode is invoked via the
141 .BR xscreensaver\-command (1)
142 program.
143 .SH X RESOURCES
144 \fIxscreensaver\fP understands the following resources:
145 .PP
146 .TP 8
147 .B timeout \fR(class \fBTime\fP)
148 Same as the \fI\-timeout\fP command-line option.  Default 10 minutes.
149 .TP 8
150 .B cycle \fR(class \fBTime\fP)
151 Same as the \fI\-cycle\fP command-line option.  Default 10 minutes.
152 .TP 8
153 .B nice \fR(class \fBNice\fP)
154 Same as the \fI\-nice\fP command-line option.  Default 10.
155 .TP 8
156 .B verbose \fR(class \fBBoolean\fP)
157 Same as the \fI\-verbose\fP command-line option.
158 .TP 8
159 .B xidle \fR(class \fBBoolean\fP)
160 Same as the \fI\-xidle\fP command-line option.
161 .TP 8
162 .B lock \fR(class \fBBoolean\fP)
163 Same as the \fI\-lock\fP command-line option.
164 .TP 8
165 .B lockTimeout \fR(class \fBTime\fP)
166 Same as the \fI\-lock\-timeout\fP command-line option.
167 .TP 8
168 .B fade \fR(class \fBBoolean\fP)
169 If this is true, then when the screensaver activates, the current contents
170 of the screen will fade to black instead of simply winking out.  This only
171 works on displays with writable colormaps.  Default true.  A fade will also
172 be done when switching graphics hacks (when the \fIcycle\fP timer expires.)
173 .TP 8
174 .B unfade \fR(class \fBBoolean\fP)
175 If this is true, then when the screensaver deactivates, the original contents
176 of the screen will fade in from black instead of appearing immediately.  This
177 only works on displays with writable colormaps, and if \fIfade\fP is true
178 as well.  Default false.
179 .TP 8
180 .B fadeSeconds \fR(class \fBTime\fP)
181 If \fIfade\fP is true, this is how long the fade will be in 
182 seconds (default 1.)
183 .TP 8
184 .B fadeTicks \fR(class \fBInteger\fP)
185 If \fIfade\fP is true, this is how many times a second the colormap will
186 be changed to effect a fade.  Higher numbers yield smoother fades, but
187 may make the fades take longer if your server isn't fast enough to keep
188 up.  Default 75.
189 .TP 8
190 .B installColormap \fR(class \fBBoolean\fP)
191 Same as the \fI\-install\fP command-line option.  Default false.
192 .TP 8
193 .B passwdTimeout \fR(class \fBTime\fP)
194 If \fIlock\fP is true, this is how many seconds the password dialog box
195 should be left on the screen before giving up (default 30.)  This should
196 not be too large: the X server is grabbed for the duration that the password
197 dialog box is up (for security purposes) and leaving the server grabbed for
198 too long can cause problems.
199 .TP 8
200 .B visualID \fR(class \fBVisualID\fP)
201 Same as the \fI\-visual\fP command-line option.  Default \fBbest\fP.
202 .TP 8
203 .B captureStderr \fR(class \fBBoolean\fP)
204 Whether \fIxscreensaver\fP should redirect its standard-error stream to the
205 window itself.  Since its nature is to take over the screen, you would not
206 normally see error messages generated by the screensaver or the programs it
207 runs; this resource will cause the output of all relevant programs to be
208 drawn on the screensaver window itself instead of written to the controlling
209 terminal of the screensaver driver process.  Default: True.
210 .TP 8
211 .B captureStdout \fR(class \fBBoolean\fP)
212 Like \fBcaptureStderr\fP but for the standard-output stream.  Default: True.
213 .TP 8
214 .B font \fR(class \fBFont\fP)
215 The font used for the stdout/stderr text, if \fBcaptureStdout\fP or
216 \fBcaptureStderr\fP are true.  Default \fB*\-medium\-r\-*\-140\-*\-m\-*\fP
217 (a 14 point fixed-width font.)
218 .TP 8
219 .B textForeground \fR(class \fBForeground\fP)
220 The foreground color used for the stdout/stderr text, if \fBcaptureStdout\fP 
221 or \fBcaptureStderr\fP are true.  Default: Yellow.
222 .TP 8
223 .B textBackground \fR(class \fBBackground\fP)
224 The background color used for the stdout/stderr text, if \fBcaptureStdout\fP 
225 or \fBcaptureStderr\fP are true.  Default: Black.
226 .TP 8
227 .B programs \fR(class \fBPrograms\fP)
228 The graphics hacks which \fIxscreensaver\fP runs when the user is idle,
229 in addition to those specified in colorPrograms or monoPrograms (as 
230 appropriate.)  The value of this resource is a string, one \fIsh\fP command 
231 per line.  Each line must contain exactly one command -- no semicolons.
232
233 When the screensaver starts up, one of these is selected at random, and
234 run.  After the \fIcycle\fP period expires, it is killed, and another
235 is selected and run.
236
237 If the value of this resource (and the applicable one of \fBcolorPrograms\fP
238 or \fBmonoPrograms\fP) is empty, then no programs will be run; the screen
239 will simply be made black.
240
241 Note that you must escape the newlines; here is an example of how you
242 might set this in your \fI.Xdefaults\fP file:
243 .EX
244 xscreensaver.programs:  \\
245         qix -root                        \\n\\
246         ico -r -faces -sleep 1 -obj ico  \\n\\
247         xdaliclock -builtin2 -root       \\n\\
248         xwave -root
249 .EE
250 To use a program as a screensaver, two things are required: that that
251 program draw on the root window (or be able to be configured to draw on
252 the root window); and that that program understand ``virtual root''
253 windows, as used by virtual window managers such as \fItvtwm\fP.
254
255 It is quite easy to make programs understand virtual roots if they
256 don't already: you merely need to include the file \fI"vroot.h"\fP in
257 them after the standard X includes, and recompile.  This file is distributed
258 with X11r5, and is included with xscreensaver as well.
259 .TP 8
260 .B monoPrograms \fR(class \fBMonoPrograms\fP)
261 This resource is appended to the value of the \fIprograms\fP resource if
262 the display on which the screensaver is running is monochrome.
263 .TP 8
264 .B colorPrograms \fR(class \fBColorPrograms\fP)
265 This resource is appended to the value of the \fIprograms\fP resource if
266 the display on which the screensaver is running is not monochrome.
267 .PP
268 .RS 4
269 \fBNOTE: this means that if you want to completely replace the list of 
270 programs which xscreensaver runs, you must set at least \fItwo\fP,
271 possibly \fIthree\fP resources.  It is not enough to just set 
272 the \fBprograms\fP resource -- you must also set \fBcolorPrograms\fP 
273 or \fBmonoPrograms\fP or both.\fP
274 .RE
275 .PP
276 Normally you won't need to change the following resources:
277 .TP 8
278 .B bourneShell \fR(class \fBBourneShell\fP)
279 The pathname of the shell that \fIxscreensaver\fP uses to start subprocesses.
280 This must be whatever your local variant of \fB/bin/sh\fP is -- in particular,
281 it must not be \fBcsh\fP.
282 .TP 8
283 .B windowCreationTimeout \fR(class \fBTime\fP)
284 When server extensions are not in use, this controls the delay between when 
285 windows are created and when \fIxscreensaver\fP selects events on them.
286 Default 30 seconds.
287 .TP 8
288 .B pointerPollTime \fR(class \fBTime\fP)
289 When server extensions are not in use, this controls how 
290 frequently \fIxscreensaver\fP checks to see if the mouse position or buttons
291 have changed.  Default 5 seconds.
292 .TP 8
293 .B initialDelay \fR(class \fBTime\fP)
294 When server extensions are not in use, \fIxscreensaver\fP will wait this many
295 seconds before selecting events on existing windows, under the assumption that 
296 \fIxscreensaver\fP is started during your login procedure, and the window 
297 state may be in flux.  Default 30 seconds.
298 .SH "HOW IT WORKS"
299 When it is time to activate the screensaver, a full-screen black window is
300 created.  This window is given the appropriate properties so that, to any 
301 subsequently-created programs, it will appear to be a ``virtual root'' 
302 window.  Because of this, any program which draws on the root window (and 
303 which understands virtual roots) can be used as a screensaver.
304 .PP
305 When the user becomes active again, the screensaver window is unmapped and
306 the running subprocess is killed by sending it \fBSIGTERM\fP.  This is also
307 how the subprocesses are killed when the screensaver decides that it's time
308 to run a different demo: the old one is killed and a new one is launched.
309 .PP
310 Before launching a subprocess, \fIxscreensaver\fP stores an appropriate value
311 for \fB$DISPLAY\fP in the environment that the child will recieve.  (This is
312 so that if you start \fIxscreensaver\fP with a \fI-display\fP argument, the
313 programs which \fIxscreensaver\fP launches will draw on the same display.)
314 .PP
315 When the screensaver turns off, or is killed, care is taken to restore 
316 the ``real'' virtual root window if there is one.  Because of this, it is
317 important that you not kill the screensaver process with \fIkill -9\fP if
318 you are running a virtual-root window manager.  If you kill it with \-9,
319 you may need to restart your window manager to repair the damage.  This
320 isn't an issue if you aren't running a virtual-root window manager.
321 .PP
322 For all the gory details, see the commentary at the top of xscreensaver.c.
323 .PP
324 You can control a running screensaver process by using the
325 .BR xscreensaver\-command (1)
326 program (which see.)
327 .SH ENVIRONMENT
328 .PP
329 .TP 8
330 .B DISPLAY
331 to get the default host and display number.
332 .TP 8
333 .B XENVIRONMENT
334 to get the name of a resource file that overrides the global resources
335 stored in the RESOURCE_MANAGER property.
336 .SH USING XDM(1)
337 You can run \fIxscreensaver\fP from your xdm session, so that the 
338 screensaver will run even when nobody is logged in on the console.  
339 Simply add \fB"xscreensaver &"\fP to your \fI/usr/lib/X11/xdm/Xsetup\fP 
340 file.  Because \fIxdm\fP grabs the keyboard, keypresses will not make 
341 the screensaver deactivate, but any mouse activity will.
342 .PP
343 (If your system does not seem to be executing the \fIXsetup\fP file, you
344 may need to configure it to do so -- the traditional way to do this is
345 to make that file the value of the \fIDisplayManager*setup\fP resource
346 in the \fIxdm-config\fP file.  See the man page for
347 .BR xdm (1)
348 for more details.)
349 .PP
350 Users may want to add \fB"xscreensaver-command -restart"\fP to their 
351 startup scripts, so that the screensaver will be reinitialized with
352 their private resource settings when they log in.
353 .PP
354 It is safe to run this program as root (as \fIxdm\fP is likely to do.)  If 
355 run as root, \fIxscreensaver\fP changes its effective user and group ids to
356 something safe (like \fI"nobody"\fP) before connecting to the X server
357 or launching user-specified programs.
358 .PP
359 Locking doesn't work if the screensaver is launched by \fIxdm\fP.  To get
360 around this, you can run the screensaver from \fIxdm\fP without locking, 
361 and kill and restart it from your personal X startup script to enable
362 locking.
363 .SH DEMO MODE
364 If \fIxscreensaver\fP receives the \fBDEMO\fP ClientMessage, it pops up
365 a dialog box from which you can examine and experiment with the screensaver's
366 client programs.
367 .PP
368 Clicking left on an element in the scrolling list will place the indicated
369 program and its args in the text field to be edited.  Edit the arguments and
370 hit return to run the program with the parameters you have specified.
371 .PP
372 Double-clicking on an element in the scrolling list will run the indicated
373 program immediately.
374 .PP
375 When a client program is launched, the dialog box is hidden.  Clicking
376 any mouse button will re-expose the dialog box (but will not kill the 
377 client program.)
378 .TP 8
379 .B Run Next
380 Clicking this button will run the next program in the list after the 
381 currently-selected one, and will scroll around to the top when it reaches
382 the bottom.
383 .TP 8
384 .B Run Previous
385 Opposite of Run Next; at the top, it scrolls around to the bottom.
386 .TP 8
387 .B Edit Parameters
388 This pops up a second dialog box, in which you have the option to 
389 interactively change most of the screensaver's operational parameters,
390 such as its timeouts, and whether it should hack colormaps.  Changing
391 these parameters here will affect only the running \fIxscreensaver\fP
392 process; to make the changes permanent, you need to edit your X resource
393 file.
394 .TP 8
395 .B Exit Demo Mode
396 Returns to normal screensaver operation.
397 .TP 8
398 .B Reinitialize
399 Causes the screensaver process to exit and then restart with the same 
400 command-line arguments.  This causes the X resource database to be 
401 re-read.  This is just like the \fI\-restart\fP argument to
402 .BR xscreensaver\-command (1)
403 except that when executed from this button, the screensaver will 
404 automatically return to demo mode after restarting.
405 .SH SEE ALSO
406 .BR X (1),
407 .BR xscreensaver\-command (1),
408 .BR xlock (1),
409 .BR xnlock (1),
410 .BR xautolock (1),
411 .BR xdm (1),
412 .BR qix (1),
413 .BR pyro (1),
414 .BR helix (1),
415 .BR rorschach (1),
416 .BR hopalong (1),
417 .BR attraction (1),
418 .BR greynetic (1),
419 .BR rocks (1),
420 .BR noseguy (1),
421 .BR blitspin (1),
422 .BR imsmap (1),
423 .BR slidescreen (1),
424 .BR decayscreen (1),
425 .BR hypercube (1),
426 .BR flame (1),
427 .BR bubbles (1),
428 .BR maze (1),
429 .BR ico (1),
430 .BR xdaliclock (1),
431 .BR xbouncebits (1),
432 .BR xswarm (1),
433 .BR xwave (1),
434 .BR xfishtank (1)
435 .SH BUGS
436 If you think you have changed the \fBprograms\fP resource but the
437 screensaver is ignoring it, you are confused -- you need to set 
438 the \fBcolorPrograms\fP and/or \fBmonoPrograms\fP resources as well.
439 (This is not a bug, but I mention it here because people think that
440 it is with great regularity.)
441 .PP
442 If you are not making use of one of the server extensions (\fBXIDLE\fP,
443 \fBSCREEN_SAVER\fP, or \fBMIT-SCREEN-SAVER\fP), then it is possible, in rare
444 situations, for \fIxscreensaver\fP to interfere with event propagation and make
445 another X program malfunction.  For this to occur, that other application
446 would need to \fInot\fP select \fBKeyPress\fP events on its non-leaf windows
447 within the first 30 seconds of their existence, but then select for them later.
448 In this case, that client \fImight\fP fail to receive those events.
449 This isn't very likely, since programs generally select a constant set
450 of events immediately after creating their windows and then don't change
451 them, but this is the reason that it's a good idea to install and use one
452 of the server extensions instead, to work around this shortcoming in the
453 X protocol.
454 .PP
455 Although this program ``nices'' the subprocesses that it starts, 
456 graphics-intensive subprograms can still overload the machine by causing
457 the X server process itself (which is not ``niced'') to suck a lot of 
458 cycles.  Care should be taken to slow down programs intended for use as 
459 screensavers by inserting strategic calls to
460 .BR sleep (3)
461 or
462 .BR usleep (3)
463 \.
464
465 Also, it will cause your X server to be pretty much permanently swapped in.
466 (but the same is true of any program that draws periodically, like xclock or
467 xload.)
468 .PP
469 If the subprocess is drawing too quickly and the connection to the X
470 server is a slow one (such as an X terminal running over a phone line) then 
471 the screensaver might not turn off right away when the user becomes active
472 again (the
473 .BR ico (1)
474 demo has this problem if being run in full-speed mode).  This can be
475 alleviated by inserting strategic calls to
476 .BR XSync (3)
477 in code intended for use as a screensaver.  This prevents too much graphics
478 activity from being buffered up.
479 .PP
480 The screensaver only runs on the default screen of the display.  If you have
481 more than one screen, you can run multiple screensaver processes, one for
482 each screen.  This interacts poorly with locking.  In an ideal world, the
483 screensaver would save (and lock) both screens simultaniously, and any activity
484 would restore both screens.  It would be nice if one could run different hacks
485 on each screen simultaniously.  However, I don't have access to a multi-headed
486 workstation, so it would be hard for me to implement something like this.
487 .PP
488 If you don't have Motif, you can't compile with support for locking or
489 demo mode.
490 .PP
491 Locking doesn't work if the screensaver is launched by \fIxdm\fP.
492 The reason for this is that when it is launched by \fIxdm\fP, the
493 screensaver process is owned by some standard user id (such as \fIroot\fP
494 or \fIdaemon\fP) instead of the user who is logged in on the console.
495 In order for the screensaver to prompt for the password of the person
496 who had logged in from \fIxdm\fP, it would need to know who that user was, 
497 and there is no reliable and safe way to figure that out.  (And even if 
498 there was, there would be some other security issues here as well.)
499
500 So if you want to use it as a locker, you must start it with your user id.
501 If it has already been started by \fIxdm\fP, you can kill it with
502 \fBxscreensaver-command -exit\fP, and then start it again as you.
503 .PP
504 If you get an error message like ``couldn't get password of foo'' then 
505 this probably means that you're on a system in which the
506 .BR getpwent (3)
507 library routine can only be effectively used by root.  If this is the case, 
508 then \fIxscreensaver\fP must be installed as setuid to root.  Care has 
509 been taken to make this a safe thing to do.
510 .PP
511 The \fBinstallColormap\fP option doesn't work very well with the
512 .BR twm (1)
513 window manager and its descendants.  There is a race condition between the
514 screensaver and this window manager, which can result in the screensaver's
515 colormap not getting installed properly, meaning the graphics hacks will
516 appear in essentially random colors.  (If the screen goes white instead of
517 black, this is probably why.)  The
518 .BR mwm (1)
519 and
520 .BR olwm (1)
521 window managers don't seem to have this problem.  The race condition exists
522 because X apparently does not provide a way for an OverrideRedirect window to 
523 have its own colormap, short of grabbing the server (which is neither a good 
524 idea, nor really possible with the current design.)  What happens is that, as 
525 soon as the screensaver installs its colormap, \fBtwm\fP responds to 
526 the \fBColormapNotify\fP event that is generated by re-instaling the default
527 colormap.  Apparently, \fBtwm\fP doesn't \fIalways\fP do this; it seems to do
528 it regularly if the screensaver is activated from a menu item, but seems to
529 not do it if the screensaver comes on of its own volition, or is activated
530 from another console.  Any thoughts on this problem are welcome...
531 .PP
532 Apparently there are some problems with ``XView'' programs getting confused
533 and thinking that the screensaver window is the real root window even when
534 the screensaver is not active: ClientMessages intended for the window manager
535 are sent to the screensaver window instead.  This could be solved by making
536 xscreensaver forward all unrecognised ClientMessages to the real root window,
537 but there may be other problems as well.
538 .PP
539 When using the \fBMIT-SCREEN-SAVER\fP extension in conjunction with 
540 the \fBfade\fP option, you may notice an unattractive flicker just before 
541 the fade begins.  This is because the server maps a black window just before 
542 it tells the \fIxscreensaver\fP process to activate.  The \fIxscreensaver\fP 
543 process immediately unmaps that window, but this results in a flicker.  I 
544 haven't figured a way  to get around this; it seems to be a fundamental
545 property of the (mis-) design of this server extension.
546 .PP
547 There need to be a lot more graphics hacks.  In particular, there should be
548 a simulation of a Lavalite (tm).
549 .SH UPGRADES
550 The latest version can always be found at http://www.netscape.com/people/jwz/.
551 There is also usually an up-to-date copy at ftp://ftp.x.org/.
552 .SH COPYRIGHT
553 Copyright \(co 1992, 1993, 1994, 1995, 1996 by Jamie Zawinski.  Permission 
554 to use, copy, modify, distribute, and sell this software and its documentation
555 for any purpose is hereby granted without fee, provided that the above
556 copyright notice appear in all copies and that both that copyright notice 
557 and this permission notice appear in supporting documentation.  No
558 representations are made about the suitability of this software for any
559 purpose.  It is provided "as is" without express or implied warranty.
560 .SH AUTHOR
561 Jamie Zawinski <jwz@netscape.com>, 13-aug-92.
562 Please let me know if you find any bugs or make any improvements.
563
564 Thanks to David Wojtowicz for implementing \fIlockTimeout\fP.
565
566 Thanks to Martin Kraemer for adding support for shadow passwords and 
567 locking-disabled diagnostics.