http://ftp.x.org/contrib/applications/xscreensaver-2.17.tar.gz
[xscreensaver] / driver / xscreensaver.man
index 71e8cbfa7ddf070e8fabd1dd8d5c49b75e21291e..54cc9ee4ff885a93ae5497724b44a5f4f8caa95d 100644 (file)
@@ -1,4 +1,4 @@
-..de EX                \"Begin example
+.de EX         \"Begin example
 .ne 5
 .if n .sp 1
 .if t .sp .5
@@ -11,7 +11,7 @@
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "31-May-97" "X Version 11"
+.TH XScreenSaver 1 "16-Jan-98" "X Version 11"
 .SH NAME
 xscreensaver - graphics hack and screen locker, launched when the user is idle
 .SH SYNOPSIS
@@ -33,6 +33,64 @@ and
 programs is the ease with which new graphics hacks can be installed.  You
 don't need to recompile (or even re-run) this program to add a new display
 mode.
+.SH GETTING STARTED
+For the impatient, try this:
+.EX
+        xscreensaver &
+        xscreensaver-command -demo
+.EE
+After a few seconds, the screen should go black, and a dialog box should
+appear in the upper right corner.  This is \fIDemo Mode\fP.
+.SH DEMO MODE
+If \fIxscreensaver\fP receives the \fBDEMO\fP ClientMessage, which is done
+by running the
+.BR xscreensaver\-command (1)
+program with the \fB\-demo\fP option, the screensaver will black the screen
+and pop up a dialog box from which you can examine and experiment with the
+client programs.
+
+The dialog box contains a scrolling list, a text field, and a number of 
+buttons.  
+
+Double-clicking on one of the programs in the list will run it.  The dialog
+box will disappear, allowing the program access to the full screen.  Clicking
+the mouse again will bring the dialog box back.
+
+Single-clicking in the list will place the indicated program and its args
+in the text field to be edited.  Edit the arguments and hit return to run
+the program with the parameters you have specified.  (Note that these are
+one-time changes and won't be remembered; to make the changes permanent,
+you need to edit your X resource file.)
+
+The buttons are:
+.TP 8
+.B Run Next
+Clicking this button will run the next program in the list after the 
+currently-selected one, and will scroll around to the top when it reaches
+the bottom.
+.TP 8
+.B Run Previous
+Opposite of Run Next; at the top, it scrolls around to the bottom.
+.TP 8
+.B Edit Parameters
+This pops up a second dialog box, in which you have the option to 
+interactively change most of the screensaver's operational parameters,
+such as its timeouts, and whether it should lock the screen.  Changing 
+these parameters here will affect only the running \fIxscreensaver\fP 
+process; to make the changes permanent, you need to edit your X resource
+file.  (See below.)
+.TP 8
+.B Exit Demo Mode
+Returns to normal screensaver operation.
+.TP 8
+.B Reinitialize
+This causes the X resource database to be re-read, to pick up any changes
+you might have made.  This works by causing the screensaver process to exit
+and then restart itself with the same command-line arguments.  This is just
+like the \fI\-restart\fP argument to 
+.BR xscreensaver\-command (1)
+except that when executed from this button, the screensaver will 
+automatically return to demo mode after restarting.
 .SH OPTIONS
 .I xscreensaver
 accepts the following command line options:
@@ -95,7 +153,8 @@ This is the default.
 .B best
 Use the visual which supports the most colors.  Note, however, that the
 visual with the most colors might be a TrueColor visual, which does not
-support colormap animation.
+support colormap animation.  Some programs have more interesting behavior
+when run on PseudoColor visuals than on TrueColor.
 .TP 8
 .B mono
 Use a monochrome visual, if there is one.
@@ -108,11 +167,9 @@ one plane (that is, it's not monochrome.)
 Use the best of the color visuals, if there are any.
 .TP 8
 .I class
-where \fIclass\fP is one 
-
-of \fBStaticGray\fP, \fBStaticColor\fP, \fBTrueColor\fP, \fBGrayScale\fP, \fBPseudoColor\fP, 
-or \fBDirectColor\fP.  Selects the deepest visual of
-the given class.
+where \fIclass\fP is one of \fBStaticGray\fP, \fBStaticColor\fP, 
+\fBTrueColor\fP, \fBGrayScale\fP, \fBPseudoColor\fP, or \fBDirectColor\fP.
+Selects the deepest visual of the given class.
 .TP 8
 .I number
 where \fInumber\fP (decimal or hex) is interpreted as a visual id number, 
@@ -121,20 +178,21 @@ as reported by the
 program; in this way you can have finer control over exactly which visual
 gets used, for example, to select a shallower one than would otherwise
 have been chosen.
+
 .RE
 .RS 8
-.PP
 Note that this option specifies only the \fIdefault\fP visual that will
 be used: the visual used may be overridden on a program-by-program basis.
 See the description of the \fBprograms\fP resource, below.
 .RE
 .TP 8
 .B \-install
-When using a non-default visual, install a private colormap while the
-screensaver is active, so that the graphics hacks can get as many colors as 
-possible.    This is the default.  (This only applies when the screen's 
-default visual is being used, since non-default visuals get their own
-colormaps automatically.)
+Install a private colormap while the screensaver is active, so that the
+graphics hacks can get as many colors as possible.  This is the 
+default.  (This only applies when the screen's default visual is being
+used, since non-default visuals get their own colormaps automatically.)
+This can also be overridden on a per-hack basis: see the discussion of
+the \fBdefault\-n\fP name in the section about the \fBprograms\fP resource.
 .TP 8
 .B \-no\-install
 Use the default colormap.
@@ -177,64 +235,64 @@ Don't use the \fBMIT\-SCREEN\-SAVER\fP server extension.
 \fIxscreensaver\fP understands the following resources:
 .PP
 .TP 8
-.B timeout \fR(class \fBTime\fP)
+.B timeout\fP (class \fBTime\fP)
 Same as the \fI\-timeout\fP command-line option.  Default 10 minutes.
 .TP 8
-.B cycle \fR(class \fBTime\fP)
+.B cycle\fP (class \fBTime\fP)
 Same as the \fI\-cycle\fP command-line option.  Default 10 minutes.
 .TP 8
-.B nice \fR(class \fBNice\fP)
+.B nice\fP (class \fBNice\fP)
 Same as the \fI\-nice\fP command-line option.  Default 10.
 .TP 8
-.B lock \fR(class \fBBoolean\fP)
+.B lock\fP (class \fBBoolean\fP)
 Same as the \fI\-lock\fP command-line option.
 .TP 8
-.B lockTimeout \fR(class \fBTime\fP)
+.B lockTimeout\fP (class \fBTime\fP)
 Same as the \fI\-lock\-timeout\fP command-line option.
 .TP 8
-.B passwdTimeout \fR(class \fBTime\fP)
+.B passwdTimeout\fP (class \fBTime\fP)
 If the screen is locked, then this is how many seconds the password dialog box
 should be left on the screen before giving up (default 30.)  This should not
 be too large: the X server is grabbed for the duration that the password
 dialog box is up (for security purposes) and leaving the server grabbed for
 too long can cause problems.
 .TP 8
-.B verbose \fR(class \fBBoolean\fP)
+.B verbose\fP (class \fBBoolean\fP)
 Same as the \fI\-verbose\fP command-line option.
 .TP 8
-.B xidle \fR(class \fBBoolean\fP)
+.B xidle\fP (class \fBBoolean\fP)
 Same as the \fI\-xidle\fP command-line option.
 .TP 8
-.B fade \fR(class \fBBoolean\fP)
+.B fade\fP (class \fBBoolean\fP)
 If this is true, then when the screensaver activates, the current contents
 of the screen will fade to black instead of simply winking out.  This only
 works on displays with writable colormaps, that is, if the screen's default
 visual is a PseudoColor visual.  Default true.  A fade will also be done when
 switching graphics hacks (when the \fIcycle\fP timer expires.)
 .TP 8
-.B unfade \fR(class \fBBoolean\fP)
+.B unfade\fP (class \fBBoolean\fP)
 If this is true, then when the screensaver deactivates, the original contents
 of the screen will fade in from black instead of appearing immediately.  This
 only works on displays with writable colormaps, and if \fIfade\fP is true
 as well.  Default false.
 .TP 8
-.B fadeSeconds \fR(class \fBTime\fP)
+.B fadeSeconds\fP (class \fBTime\fP)
 If \fIfade\fP is true, this is how long the fade will be in 
 seconds (default 3.)
 .TP 8
-.B fadeTicks \fR(class \fBInteger\fP)
+.B fadeTicks\fP (class \fBInteger\fP)
 If \fIfade\fP is true, this is how many times a second the colormap will
 be changed to effect a fade.  Higher numbers yield smoother fades, but
 may make the fades take longer than the specified \fIfadeSeconds\fP if
 your server isn't fast enough to keep up.  Default 20.
 .TP 8
-.B visualID \fR(class \fBVisualID\fP)
+.B visualID\fP (class \fBVisualID\fP)
 Same as the \fI\-visual\fP command-line option.  Default \fBdefault\fP.
 .TP 8
-.B installColormap \fR(class \fBBoolean\fP)
+.B installColormap\fP (class \fBBoolean\fP)
 Same as the \fI\-install\fP command-line option.  Default true.
 .TP 8
-.B captureStderr \fR(class \fBBoolean\fP)
+.B captureStderr\fP (class \fBBoolean\fP)
 Whether \fIxscreensaver\fP should redirect its standard-error stream to the
 window itself.  Since its nature is to take over the screen, you would not
 normally see error messages generated by the screensaver or the programs it
@@ -242,23 +300,23 @@ runs; this resource will cause the output of all relevant programs to be
 drawn on the screensaver window itself instead of written to the controlling
 terminal of the screensaver driver process.  Default true.
 .TP 8
-.B captureStdout \fR(class \fBBoolean\fP)
+.B captureStdout\fP (class \fBBoolean\fP)
 Like \fBcaptureStderr\fP but for the standard-output stream.  Default true.
 .TP 8
-.B font \fR(class \fBFont\fP)
+.B font\fP (class \fBFont\fP)
 The font used for the stdout/stderr text, if \fBcaptureStdout\fP or
 \fBcaptureStderr\fP are true.  Default \fB*\-medium\-r\-*\-140\-*\-m\-*\fP
 (a 14 point fixed-width font.)
 .TP 8
-.B textForeground \fR(class \fBForeground\fP)
+.B textForeground\fP (class \fBForeground\fP)
 The foreground color used for the stdout/stderr text, if \fBcaptureStdout\fP 
 or \fBcaptureStderr\fP are true.  Default: Yellow.
 .TP 8
-.B textBackground \fR(class \fBBackground\fP)
+.B textBackground\fP (class \fBBackground\fP)
 The background color used for the stdout/stderr text, if \fBcaptureStdout\fP 
 or \fBcaptureStderr\fP are true.  Default: Black.
 .TP 8
-.B programs \fR(class \fBPrograms\fP)
+.B programs\fP (class \fBPrograms\fP)
 The graphics hacks which \fIxscreensaver\fP runs when the user is idle.
 The value of this resource is a string, one \fIsh\fP-syntax command per line.  
 Each line must contain exactly one command -- no semicolons, no ampersands.
@@ -276,6 +334,7 @@ for each screen.
 Note that you must escape the newlines; here is an example of how you
 might set this in your \fI.Xdefaults\fP file:
 
+.RS 8
 .EX
 xscreensaver.programs:  \\
         qix -root                          \\n\\
@@ -283,7 +342,12 @@ xscreensaver.programs:  \\
         xdaliclock -builtin2 -root         \\n\\
         xv -root -rmode 5 image.gif -quit  \\n
 .EE
+.RE
 .RS 8
+Make sure your \fB$PATH\fP environment variable is set up correctly
+\fIbefore\fP xscreensaver is launched, or it won't be able to find the
+programs listed in the \fIprograms\fP resource.
+
 To use a program as a screensaver, two things are required: that that
 program draw on the root window (or be able to be configured to draw on
 the root window); and that that program understand ``virtual root''
@@ -304,7 +368,7 @@ display, you can specify that like this:
 More generally, you can specify the kind of visual that should be used for
 the window on which the program will be drawing.  For example, if one 
 program works best if it has a colormap, but another works best if it has
-a 24-bit visual, both can be accomidated:
+a 24-bit visual, both can be accommodated:
 
 .EX
         PseudoColor: cmap-program  -root   \\n\\
@@ -316,6 +380,20 @@ a 24-bit visual, both can be accomidated:
 and \fImonoPrograms\fP resources, but those resources have now been removed;
 a warning will be issued if they are used.)
 
+In addition to the symbolic visual names described above (in the section
+about the \fI\-visual\fP command-line option) one other visual name is
+supported in the \fIprograms\fP list:
+.RS 1
+.TP 4
+.B default-n
+This is like \fBdefault\fP, but also requests the use of the default colormap,
+instead of a private colormap.  (That is, it behaves as if 
+the \fI\-no\-install\fP command-line option was specified, but only for
+this particular hack.)  This is provided because some third-party programs
+that draw on the root window make assumptions about the visual and colormap
+of that window: assumptions which xscreensaver can violate.
+
+.RE
 If you specify a particular visual for a program, and that visual does not
 exist on the screen, then that program will not be chosen to run.  This
 means that on displays with multiple screens of different depths, you can
@@ -326,34 +404,35 @@ run on one, and hacks that only look good in color will show up on the other.
 .PP
 .PP
 Normally you won't need to change the following resources:
+.PP
 .TP 8
-.B bourneShell \fR(class \fBBourneShell\fP)
+.B bourneShell\fP (class \fBBourneShell\fP)
 The pathname of the shell that \fIxscreensaver\fP uses to start subprocesses.
 This must be whatever your local variant of \fB/bin/sh\fP is -- in particular,
 it must not be \fBcsh\fP.
 .TP 8
-.B windowCreationTimeout \fR(class \fBTime\fP)
+.B windowCreationTimeout\fP (class \fBTime\fP)
 When server extensions are not in use, this controls the delay between when 
 windows are created and when \fIxscreensaver\fP selects events on them.
 Default 30 seconds.
 .TP 8
-.B pointerPollTime \fR(class \fBTime\fP)
+.B pointerPollTime\fP (class \fBTime\fP)
 When server extensions are not in use, this controls how 
 frequently \fIxscreensaver\fP checks to see if the mouse position or buttons
 have changed.  Default 5 seconds.
 .TP 8
-.B initialDelay \fR(class \fBTime\fP)
+.B initialDelay\fP (class \fBTime\fP)
 When server extensions are not in use, \fIxscreensaver\fP will wait this many
 seconds before selecting events on existing windows, under the assumption that 
 \fIxscreensaver\fP is started during your login procedure, and the window 
 state may be in flux.  Default 30 seconds.
 .TP 8
-.B overlayStderr \fR(class \fBBoolean\fP)
+.B overlayStderr\fP (class \fBBoolean\fP)
 If \fBcaptureStderr\fP or \fBcaptureStdout\fP are True, and your server 
 supports ``overlay'' visuals, then the text will be written into one of
 the higher layers instead of into the same layer as the running screenhack.
 Set this to False to disable that (though you shouldn't need to.)
-.SH "HOW IT WORKS"
+.SH HOW IT WORKS
 When it is time to activate the screensaver, a full-screen black window is
 created on each screen of the display.  The window or windows is given the
 appropriate properties so that, to any subsequently-created programs, it 
@@ -392,6 +471,10 @@ Simply add \fB"xscreensaver &"\fP to your \fI/usr/lib/X11/xdm/Xsetup\fP
 file.  Because \fIxdm\fP grabs the keyboard, keypresses will not make 
 the screensaver deactivate, but any mouse activity will.
 
+Make sure you have \fB$PATH\fP set up correctly in the Xsetup script, or
+\fIxdm\fP won't be able to find \fIxscreensaver\fP, and/or \fIxscreensaver\fP
+won't be able to find its graphics hacks.
+
 (If your system does not seem to be executing the \fIXsetup\fP file, you
 may need to configure it to do so -- the traditional way to do this is
 to make that file the value of the \fIDisplayManager*setup\fP resource
@@ -411,78 +494,136 @@ or launching user-specified programs.
 Locking doesn't work if the screensaver is launched by \fIxdm\fP.  To get
 around this, you can run the screensaver from \fIxdm\fP without locking, 
 and kill and restart it from your personal X startup script to enable
-locking; for example:
+locking; for example, by using this pair of commands:
 
 .EX
         xscreensaver-command -exit ; xscreensaver
 .EE
-.SH DEMO MODE
-If \fIxscreensaver\fP receives the \fBDEMO\fP ClientMessage, which is done
-by running the \fBxscreensaver\-command\fP program with the \fB\-demo\fP
-option, the screensaver will black the screen and pop up a dialog box from
-which you can examine and experiment with the client programs.
-
-The dialog box contains a scrolling list, a text field, and a number of 
-buttons.  
+.SH USING CDE (COMMON DESKTOP ENVIRONMENT)
+The easiest way to use \fIxscreensaver\fP on a system with CDE is to simply
+switch off the built-in CDE screensaver, and use \fIxscreensaver\fP instead;
+and second, to tell the front panel to run 
+.BR xscreensaver\-command (1)
+with the \fI\-lock\fP option when the \fILock\fP icon is clicked.
+
+To accomplish this involves five steps:
+.RS 4
+.TP 3
+\fB1: Switch off CDE's locker\fP
+Do this by turning off ``\fIScreen Saver and Screen Lock\fP'' in the
+Screen section of the Style Manager.
+.TP 3
+\fB2: Edit sessionetc\fP
+Edit the file \fI~/.dt/sessions/sessionetc\fP and add to it the line
 
-Double-clicking on one of the programs in the list will run it.  Clicking
-the mouse again will bring the dialog box back.
+.EX
+    xscreensaver &
+.EE
+This will cause \fIxscreensaver\fP to be launched when you log in.
+(As always, make sure that xscreensaver and the graphics demos are on
+your \fB$PATH\fP; the path needs to be set in \fI.cshrc\fP 
+and/or \fI.dtprofile\fP, not \fI.login\fP.)
+.TP 3
+\fB3: Create XScreenSaver.dt\fP
+Create a file called \fI~/.dt/types/XScreenSaver.dt\fP with the following
+contents:
 
-Single-clicking in the list will place the indicated program and its args
-in the text field to be edited.  Edit the arguments and hit return to run
-the program with the parameters you have specified.  (Note that these are
-one-time changes and won't be remembered; to make the changes permanent,
-you need to edit your X resource file.)
+.EX
+ACTION XScreenSaver
+{
+  LABEL         XScreenSaver
+  TYPE          COMMAND
+  EXEC_STRING   xscreensaver-command -lock
+  ICON          Dtkey
+  WINDOW_TYPE   NO_STDIO
+}
+.EE
+This defines a ``lock'' command for the CDE front panel, that knows how
+to talk to \fIxscreensaver\fP.
+.TP 3
+\fB4: Create Lock.fp\fP
+Create a file called \fI~/.dt/types/Lock.fp\fP with the following
+contents:
 
-The buttons are:
-.TP 8
-.B Run Next
-Clicking this button will run the next program in the list after the 
-currently-selected one, and will scroll around to the top when it reaches
-the bottom.
-.TP 8
-.B Run Previous
-Opposite of Run Next; at the top, it scrolls around to the bottom.
-.TP 8
-.B Edit Parameters
-This pops up a second dialog box, in which you have the option to 
-interactively change most of the screensaver's operational parameters,
-such as its timeouts, and whether it should lock the screen.  Changing 
-these parameters here will affect only the running \fIxscreensaver\fP 
-process; to make the changes permanent, you need to edit your X resource
-file.
-.TP 8
-.B Exit Demo Mode
-Returns to normal screensaver operation.
-.TP 8
-.B Reinitialize
-This causes the X resource database to be re-read, to pick up any changes
-you might have made.  This works by causing the screensaver process to exit
-and then restart itself with the same command-line arguments.  This is just
-like the \fI\-restart\fP argument to 
-.BR xscreensaver\-command (1)
-except that when executed from this button, the screensaver will 
-automatically return to demo mode after restarting.
+.EX
+CONTROL Lock
+{
+  TYPE             icon
+  CONTAINER_NAME   Switch
+  CONTAINER_TYPE   SWITCH
+  POSITION_HINTS   1
+  ICON             Fplock
+  LABEL            Lock
+  PUSH_ACTION      XScreenSaver
+  HELP_TOPIC       FPOnItemLock
+  HELP_VOLUME      FPanel
+}
+.EE
+This associates the CDE front panel ``Lock'' icon with the lock command
+we just defined in step 3.
+.TP 3
+\fB5: Restart\fP
+Select ``\fIRestart Workspace Manager\fP'' from the popup menu to make
+your changes take effect.  If things seem not to be working, check the
+file \fI~/.dt/errorlog\fP for error messages.
+.RE
+.SH USING HP VUE (VISUAL USER ENVIRONMENT)
+Since CDE is a descendant of VUE, the instructions for using xscreensaver
+under VUE are similar to the above:
+
+.RS 4
+.TP 3
+\fB1: Switch off VUE's locker\fP
+Do this by turning off ``\fIScreen Saver and Screen Lock\fP'' in the
+Screen section of the Style Manager.
+.TP 3
+\fB2: Edit vue.session\fP
+Edit the file \fI~/.vue/sessions/home/vue.session\fP and add to it
+the line
+.EX
+    vuesmcmd -screen 0 -cmd "xscreensaver"
+.EE
+This will cause \fIxscreensaver\fP to be launched when you log in.
+(As always, make sure that xscreensaver and the graphics demos are on
+your \fB$PATH\fP; the path needs to be set in \fI.cshrc\fP
+and/or \fI.profile\fP, not \fI.login\fP.)
+.TP 3
+\fB3: Edit vuewmrc\fP
+Edit the file \fI~/.vue/vuewmrc\fP and add (or change) the Lock control:
+.EX
+CONTROL Lock
+{
+  TYPE         button
+  IMAGE        lock
+  PUSH_ACTION  f.exec "xscreensaver-command -lock"
+  HELP_TOPIC   FPLock
+}
+.EE
+This associates the VUE front panel ``Lock'' icon with the xscreensaver 
+lock command.
+.RE
+.PP
 .SH BUGS
 (This is not a bug, but) note that as of release 1.32, the \fBcolorPrograms\fP 
 and \fBmonoPrograms\fP resources are no longer used: they have been 
-supplanted by the extended syntax of the \fBprograms\fP resource (see above.)
+supplanted by the extended syntax of the \fBprograms\fP resource (which is
+described above, in the \fIX Resources\fP section.)
 .TP 8
-Extensions
+.B Extensions
 If you are not making use of one of the server extensions (\fBXIDLE\fP,
-\fBSCREEN_SAVER\fP, or \fBMIT-SCREEN-SAVER\fP), then it is possible, in rare
-situations, for \fIxscreensaver\fP to interfere with event propagation and make
-another X program malfunction.  For this to occur, that other application
-would need to \fInot\fP select \fBKeyPress\fP events on its non-leaf windows
-within the first 30 seconds of their existence, but then select for them later.
-In this case, that client \fImight\fP fail to receive those events.
-This isn't very likely, since programs generally select a constant set
-of events immediately after creating their windows and then don't change
-them, but this is the reason that it's a good idea to install and use one
-of the server extensions instead, to work around this shortcoming in the
-X protocol.
-.TP 8
-Machine Load
+\fBSGI SCREEN_SAVER\fP, or \fBMIT-SCREEN-SAVER\fP), then it is possible, in 
+rare situations, for \fIxscreensaver\fP to interfere with event propagation 
+and make another X program malfunction.  For this to occur, that other
+application would need to \fInot\fP select \fBKeyPress\fP events on its 
+non-leaf windows within the first 30 seconds of their existence, but then 
+select for them later.  In this case, that client \fImight\fP fail to receive 
+those events.  This isn't very likely, since programs generally select a
+constant set of events immediately after creating their windows and then 
+don't change them, but this is the reason that it's a good idea to install 
+and use one of the server extensions instead, to work around this shortcoming
+in the X protocol.
+.TP 8
+.B Machine Load
 Although this program ``nices'' the subprocesses that it starts, 
 graphics-intensive subprograms can still overload the machine by causing
 the X server process itself (which is not ``niced'') to suck a lot of 
@@ -501,7 +642,7 @@ periodically, like
 or
 .BR xload (1).
 .TP 8
-Latency and Responsiveness
+.B Latency and Responsiveness
 If the subprocess is drawing too quickly and the connection to the X
 server is a slow one (such as an X terminal running over a phone line) then 
 the screensaver might not turn off right away when the user becomes active
@@ -513,7 +654,7 @@ alleviated by inserting strategic calls to
 in code intended for use as a screensaver.  This prevents too much graphics
 activity from being buffered up.
 .TP 8
-Locking and XDM
+.B Locking and XDM
 Locking doesn't work if the screensaver is launched by \fIxdm\fP.
 The reason for this is that when it is launched by \fIxdm\fP, the
 screensaver process is owned by some standard user id (such as \fIroot\fP
@@ -526,9 +667,23 @@ there was, there would be some other security issues here as well.)
 
 So if you want to use it as a locker, you must start it with your user id.
 If it has already been started by \fIxdm\fP, you can kill it with
-\fBxscreensaver-command -exit\fP, and then start it again as you.
-.TP 8
-Passwords
+\fBxscreensaver\-command -exit\fP, and then start it again as you.
+.TP 8
+.B Locking and root logins
+An implication of the above is that if you log in as \fIroot\fP on the
+console, xscreensaver will refuse to lock the screen (because it can't tell
+the difference between \fIroot\fP being logged in on the console, and a
+normal user being logged in on the console but xscreensaver having been run
+by \fIxdm\fP.)
+
+The solution to this is simple: you shouldn't be logging in on the console
+as \fIroot\fP in the first place (what, are you crazy or something?)  You 
+should log in as you, and
+.BR su (1)
+to \fIroot\fP as necessary.  People who spend their day logged in 
+as \fIroot\fP are just begging for disaster.
+.TP 8
+.B Passwords
 If you get an error message like ``couldn't get password of \fIuser\fP'' 
 then this probably means that you're on a system in which the
 .BR getpwent (3)
@@ -538,14 +693,14 @@ been taken to make this a safe thing to do.
 
 It also may mean that your system uses shadow passwords instead of the
 standard \fIgetpwent\fP interface; in that case, you may need to change
-some options in \fIconfig.h\fP and recompile.
+some options with \fIconfigure\fP and recompile.
 
 If you change your password after xscreensaver has been launched, it will
 continue using your old password to unlock the screen until xscreensaver
 is restarted.  This turns out to be kind of hard to fix.  (But remember,
 kids!  Unix security doesn't do much more than keep honest people honest...)
 .TP 8
-TWM and Colormaps
+.B Colormap lossage: TWM
 The \fBinstallColormap\fP option doesn't work very well with the
 .BR twm (1)
 window manager and its descendants.  
@@ -560,26 +715,41 @@ The
 and
 .BR olwm (1)
 window managers don't seem to have this problem.  The race condition exists
-because X apparently does not provide a way for an OverrideRedirect window to 
-have its own colormap, short of grabbing the server (which is neither a good 
-idea, nor really possible with the current design.)  What happens is that, as 
-soon as the screensaver installs its colormap, \fBtwm\fP responds to 
+because X does not provide a way for an OverrideRedirect window to have its
+own colormap, short of grabbing the server (which is neither a good idea, nor
+really possible with the current design.)  What happens is that, as soon as
+the screensaver installs its colormap, \fBtwm\fP responds to 
 the \fBColormapNotify\fP event that is generated by re-instaling the default
 colormap.  Apparently, \fBtwm\fP doesn't \fIalways\fP do this; it seems to do
 it regularly if the screensaver is activated from a menu item, but seems to
 not do it if the screensaver comes on of its own volition, or is activated
 from another console.  Any thoughts on this problem are welcome...
 .TP 8
-XView Clients
+.B Colormap lossage: XV, XAnim, XEarth
+Some programs don't operate properly on visuals other than the default one,
+or with colormaps other than the default one.  See the discussion of the
+magic "default-n" visual name in the section about the \fBprograms\fP 
+resource.  When programs only work with the default colormap, you need to
+use a syntax like this:
+.EX
+    default-n: xv -root image-1.gif -quit  \\n\\
+    default-n: xearth -nostars -wait 0     \\n\\
+.EE
+It would also work to turn off the \fBinstallColormap\fP option altogether,
+but that would deny extra colors to those programs that \fIcan\fP take
+advantage of them.
+.TP 8
+.B XView Clients
 Apparently there are some problems with XView programs getting confused
 and thinking that the screensaver window is the real root window even when
 the screensaver is not active: ClientMessages intended for the window manager
 are sent to the screensaver window instead.  This could be solved by making
 xscreensaver forward all unrecognised ClientMessages to the real root window,
 but there may be other problems as well.  If anyone has any insight on the
-cause of this problem, please let me know.
+cause of this problem, please let me know.  (XView is an X11 toolkit that 
+implements the (quite abominable) Sun OpenLook look-and-feel.)
 .TP 8
-MIT Extension and Fading
+.B MIT Extension and Fading
 When using the \fBMIT-SCREEN-SAVER\fP extension in conjunction with 
 the \fBfade\fP option, you may notice an unattractive flicker just before 
 the fade begins.  This is because the server maps a black window just before 
@@ -588,13 +758,21 @@ process immediately unmaps that window, but this results in a flicker.  I
 haven't figured a way  to get around this; it seems to be a fundamental
 property of the (mis-) design of this server extension.
 .TP 8
-LessTif (Motif Clone)
-Rumor has it that demo mode is buggy if XScreenSaver was compiled with the
-GNU LessTif reimplementation of Motif.  Since it works fine with OSF Motif
-on a variety of systems, I assume these problems are due to bugs in LessTif.
-Again, any insight would be appreciated.
+.B Lesstif (Motif clone)
+Demo mode is buggy if XScreenSaver was compiled against really old versions
+Lesstif; if you use Lesstif, use version 0.82 or newer.
+.TP 8
+.B Athena Widgets
+If you compiled against the Athena widget toolkit, the dialog boxes are
+pretty ugly, especially the password dialog.  Use Motif!  If you don't
+have OSF Motif, use GNU Lesstif, it's free: http://www.lesstif.org/
+.TP 8
+.B SGI Power Saver
+If you're running Irix 6.3, you might find that your monitor is powering down
+after an hour or two even if you've told it not to.  This is fixed by SGI
+patches 2447 and 2537.
 .TP 8
-Red Hot Lava
+.B Red Hot Lava
 There need to be a lot more graphics hacks.  In particular, there should be
 a simulation of a Lavalite (tm).
 .SH ENVIRONMENT
@@ -604,6 +782,9 @@ a simulation of a Lavalite (tm).
 to get the default host and display number, and to inform the sub-programs
 of the screen on which to draw.
 .TP 8
+.B PATH
+to find the sub-programs to run.
+.TP 8
 .B XENVIRONMENT
 to get the name of a resource file that overrides the global resources
 stored in the RESOURCE_MANAGER property.
@@ -613,76 +794,106 @@ http://people.netscape.com/jwz/xscreensaver/
 .SH SEE ALSO
 .BR X (1),
 .BR xscreensaver\-command (1),
-.BR xlock (1),
-.BR xnlock (1),
-.BR xautolock (1),
 .BR xdm (1),
+.BR ant (1),
+.BR atlantis (1),
 .BR attraction (1),
+.BR blitspin (1),
+.BR bouboule (1),
+.BR braid (1),
+.BR bubbles (1),
+.BR cage (1),
+.BR coral (1),
+.BR cynosure (1),
+.BR decayscreen (1),
+.BR deco (1),
+.BR drift (1),
+.BR fadeplot (1),
+.BR flag (1),
+.BR flame (1),
+.BR forest (1),
+.BR galaxy (1),
+.BR gears (1),
+.BR goop (1),
+.BR grav (1),
 .BR greynetic (1),
+.BR halo (1),
 .BR helix (1),
 .BR hopalong (1),
+.BR hypercube (1),
+.BR ifs (1),
+.BR imsmap (1),
+.BR jigsaw (1),
+.BR julia (1),
+.BR kaleidescope (1),
+.BR laser (1),
+.BR lightning (1),
+.BR lisa (1),
+.BR lissie (1),
+.BR lmorph (1),
+.BR maze (1),
+.BR moebius (1),
+.BR moire (1),
+.BR moire2 (1),
+.BR morph3d (1),
+.BR mountain (1),
+.BR munch (1),
 .BR noseguy (1),
+.BR pedal (1),
+.BR penrose (1),
+.BR pipes (1),
 .BR pyro (1),
-.BR xroger (1),
 .BR qix (1),
+.BR rd-bomb (1),
 .BR rocks (1),
 .BR rorschach (1),
-.BR blitspin (1),
-.BR imsmap (1),
-.BR slidescreen (1),
-.BR decayscreen (1),
-.BR maze (1),
-.BR hypercube (1),
-.BR halo (1),
-.BR flame (1),
-.BR pedal (1),
-.BR lmorph (1),
-.BR deco (1),
-.BR moire (1),
-.BR kaleidescope (1),
-.BR bubbles (1),
-.BR lightning (1),
-.BR strange (1),
-.BR fract (1),
-.BR spiral (1),
-.BR laser (1),
-.BR grav (1),
-.BR drift (1),
-.BR ifs (1),
-.BR julia (1),
-.BR penrose (1),
+.BR rotor (1),
+.BR rubik (1),
 .BR sierpinski (1),
-.BR hopalong (1),
-.BR braid (1),
-.BR bouboule (1),
-.BR galaxy (1),
-.BR flag (1),
-.BR forest (1),
+.BR slidescreen (1),
+.BR slip (1),
 .BR sphere (1),
-.BR lisa (1),
-.BR xdaliclock (1),
-.BR xbouncebits (1),
+.BR spiral (1),
+.BR sproingies (1),
+.BR stairs (1),
+.BR starfish (1),
+.BR strange (1),
+.BR superquadrics (1),
+.BR swirl (1),
+.BR triangle (1),
+.BR vines (1),
+.BR worm (1),
+.BR xjack (1),
+.BR xlyap (1),
+.BR xroger (1),
+.BR bongo (1),
 .BR ico (1),
+.BR xaos (1),
+.BR xbouncebits (1),
+.BR xcthugha (1),
+.BR xdaliclock (1),
+.BR xfishtank (1),
+.BR xmountains (1),
+.BR xsplinefun (1),
 .BR xswarm (1),
-.BR xwave (1),
-.BR xv (1),
 .BR xtacy (1),
-.BR bongo (1),
-.BR xfishtank (1)
+.BR xv (1),
+.BR xwave (1).
 .SH COPYRIGHT
-Copyright \(co 1991, 1992, 1993, 1994, 1995, 1996, 1997 by Jamie Zawinski.
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.  No
-representations are made about the suitability of this software for any
-purpose.  It is provided "as is" without express or implied warranty.
+Copyright \(co 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998
+by Jamie Zawinski.  Permission to use, copy, modify, distribute, and sell
+this software and its documentation for any purpose is hereby granted without
+fee, provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in supporting
+documentation.  No representations are made about the suitability of this
+software for any purpose.  It is provided "as is" without express or implied
+warranty.
 .SH AUTHOR
 Jamie Zawinski <jwz@netscape.com>.  Written in late 1991; first posted
 to comp.sources.x on 13-Aug-1992.
 
 Please let me know if you find any bugs or make any improvements.
-
+.SH ACKNOWLEDGEMENTS
 Thanks to David Wojtowicz for implementing \fIlockTimeout\fP.
 
 Thanks to Martin Kraemer for adding support for shadow passwords and
@@ -692,5 +903,7 @@ Thanks to the many people who have contributed graphics demos to the package.
 
 Thanks to Patrick Moreau for the VMS port.
 
+Thanks to Mark Bowyer for figuring out how to hook it up to CDE.
+
 And huge thanks to Jon A. Christopher for implementing the Athena dialog
-support, so that locking and demo-mode work even if you don't have Motif.
+support, back in the days before Lesstif was a viable alternative to Motif.