-..de EX \"Begin example
+.de EX \"Begin example
.ne 5
.if n .sp 1
.if t .sp .5
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
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.
\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
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.
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\\
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
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\\
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
+.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
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
+
+.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
.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
\fB2: Edit sessionetc\fP
Edit the file \fI~/.dt/sessions/sessionetc\fP and add to it the line
+.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
Create a file called \fI~/.dt/types/XScreenSaver.dt\fP with the following
contents:
- ACTION XScreenSaver
- {
- LABEL XScreenSaver
- TYPE COMMAND
- EXEC_STRING xscreensaver-command -lock
- ICON Dtkey
- WINDOW_TYPE NO_STDIO
- }
-
+.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
Create a file called \fI~/.dt/types/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
- }
-
+.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
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 (which is
-described above, in the \fIresources\fP section.)
+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,
\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 use one of the server extensions instead, to work around this shortcoming
in the X protocol.
.TP 8
-Machine Load
+.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
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
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
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)
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
-Colormap lossage: TWM
+.B Colormap lossage: TWM
The \fBinstallColormap\fP option doesn't work very well with the
.BR twm (1)
window manager and its descendants.
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
-Colormap lossage: XV, XAnim, XEarth
+.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:
-
- default-n: xv -root image-1.gif -quit \\n\\
- default-n: xearth -nostars -wait 0 \\n\\
-
+.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
-XView Clients
+.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
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
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)
+.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.
+Lesstif; if you use Lesstif, use version 0.82 or newer.
.TP 8
-Athena Widgets
+.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/
+have OSF Motif, use GNU Lesstif, it's free: http://www.lesstif.org/
.TP 8
-SGI Power Saver
+.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
.BR xscreensaver\-command (1),
.BR xdm (1),
.BR ant (1),
+.BR atlantis (1),
.BR attraction (1),
.BR blitspin (1),
.BR bouboule (1),
.BR hypercube (1),
.BR ifs (1),
.BR imsmap (1),
+.BR jigsaw (1),
.BR julia (1),
.BR kaleidescope (1),
.BR laser (1),
.BR pedal (1),
.BR penrose (1),
.BR pipes (1),
-.BR puzzle (1),
.BR pyro (1),
.BR qix (1),
.BR rd-bomb (1),
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.