ftp://ftp.demon.nl/disk1/redhat-contrib/libc5/SRPMS/xscreensaver-2.14-1.src.rpm
[xscreensaver] / driver / xscreensaver.man
index 71e8cbfa7ddf070e8fabd1dd8d5c49b75e21291e..dab3595cefc3715fd75b90922de8b289378b86dc 100644 (file)
@@ -33,6 +33,66 @@ 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
+.RS 0
+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 +155,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 +169,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, 
@@ -130,11 +189,12 @@ 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.
@@ -284,6 +344,10 @@ xscreensaver.programs:  \\
         xv -root -rmode 5 image.gif -quit  \\n
 .EE
 .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''
@@ -316,6 +380,18 @@ 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:
+.TP 8
+.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.
+.PP
 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
@@ -392,6 +468,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,76 +491,96 @@ 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.  
-
-Double-clicking on one of the programs in the list will run it.  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.
-.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 
+.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)
-except that when executed from this button, the screensaver will 
-automatically return to demo mode after restarting.
+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
+
+    xscreensaver &
+
+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; this 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/sessions/XScreenSaver.dt\fP with the following
+contents:
+
+    ACTION XScreenSaver
+    {
+         LABEL         XScreenSaver
+         TYPE          COMMAND
+         EXEC_STRING   xscreensaver-command -lock
+         ICON          Dtkey
+         WINDOW_TYPE   NO_STDIO
+    }
+
+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/sessions/Lock.fp\fP with the following
+contents:
+
+    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
+    }
+
+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, the 
+file \fI~/.dt/errorlog\fP for error messages.
+.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 \fIresources\fP section.)
 .TP 8
 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.
+\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
 Machine Load
 Although this program ``nices'' the subprocesses that it starts, 
@@ -538,7 +638,7 @@ 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
@@ -560,10 +660,10 @@ 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
@@ -577,7 +677,8 @@ 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
 When using the \fBMIT-SCREEN-SAVER\fP extension in conjunction with 
@@ -589,10 +690,13 @@ 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.
+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
+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
 Red Hot Lava
 There need to be a lot more graphics hacks.  In particular, there should be
@@ -604,6 +708,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,62 +720,86 @@ 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 attraction (1),
+.BR blitspin (1),
+.BR bouboule (1),
+.BR braid (1),
+.BR bubbles (1),
+.BR coral (1),
+.BR decayscreen (1),
+.BR deco (1),
+.BR drift (1),
+.BR escher (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 julia (1),
+.BR kaleidescope (1),
+.BR laser (1),
+.BR lightning (1),
+.BR lisa (1),
+.BR lissie (1),
+.BR lmorph (1),
+.BR maze (1),
+.BR moire (1),
+.BR morph3d (1),
+.BR mountain (1),
+.BR munch (1),
 .BR noseguy (1),
+.BR pedal (1),
+.BR penrose (1),
+.BR pipes (1),
+.BR puzzle (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 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
@@ -692,5 +823,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.