the enlosed `README.debugging' file to find out what kind of information
would be most helpful to include in your bug report.
+Getting Started:
+
+You can try out xscreensaver like so:
+
+ xscreensaver &
+ xscreensaver-command -demo
+
+After a few seconds, the screen should go black, and a dialog box should
+appear in the upper right corner. This is "Demo Mode".
+
+Note: unlike `xlock', xscreensaver has a client-server model: the
+`xscreensaver' process is a daemon that runs in the background; it is
+controlled by the foreground `xscreensaver-command' program.
+
+xscreensaver has an extensive manual -- please read it!
+
============
The xscreensaver program waits until the keyboard and mouse have been idle
for a period, and then runs a graphics demo chosen at random. It turns off
as soon as there is any mouse or keyboard activity.
-The purpose of xscreensaver is to display pretty pictures on your screen
-when it is not in use, in keeping with the philosophy that unattended
-monitors should always be doing something interesting, just like they do
+The purpose of xscreensaver is to display pretty pictures on your screen
+when it is not in use, in keeping with the philosophy that unattended
+monitors should always be doing something interesting, just like they do
in the movies.
However, xscreensaver can also be used as a screen locker, to prevent
The XIDLE, MIT-SCREEN-SAVER, and/or SGI SCREEN_SAVER server extensions
will be used if you have them.
-The dialog boxes (for locking and demo-mode) look best using Motif, but
-can be configured to use Athena widgets instead.
+The dialog boxes (for locking and demo-mode) look best using Motif or
+Lesstif, but can be configured to use Athena widgets instead.
-Also included are several graphics hacks for use as screensavers. There's
+Also included are numerous graphics hacks for use as screensavers. There's
nothing magic about these: they're just programs that draw on the root
window, which are pointed at by the screensaver's default resource settings.
xjack - Simulates a schizophrenic typist.
xlyap - Calculates and displays Lyapunov exponents.
flow - More strange attractors.
+ epicycle - Spiral patterns based on pre-Copernican cosmologies.
+ interference - More groovy colored fields.
+ truchet - Nonrepeating planar tilings.
+ bsod - Simulates the system crashes of various other OSes.
gears - Draws interlocking rotating gears (GLX only.)
morph3d - Draws shiny shape-changing 3d forms (GLX only.)
superquadrics - More shiny shape-changing 3d forms (GLX only.)
atlantis - Draws swimming mammals (GLX only.)
All of these will pop up their own window unless given that -root option.
-See their man pages for more details.
+See their respective man pages for more details.
Other reasonable things to use as screensavers, if you have them, are
-- Jamie Zawinski <jwz@netscape.com>
\f
-Changes since 2.16: Added a -window-id argument to most hacks, so that they
+Changes since 2.20: * Made "xscreensaver-command -time" use different words.
+ (It now describes the two states as "screen blanked
+ since..." and "screen non-blanked since..." instead of
+ "active since..." and "inactive since..." which a lot
+ of people interpreted as meaning the opposite of what
+ was intended.)
+ * Improved some error messages, in the hopes of making
+ the distinction between the xscreensaver and
+ xscreensaver-command programs more obvious.
+ * Rewrote (and reorganized) parts of the xscreensaver and
+ xscreensaver-command manual pages.
+ * Renamed xscreensaver's "-lock" command-line option to
+ be "-lock-mode", to avoid confusion with the "-lock"
+ option to xscreensaver-command, which does a totally
+ different thing.
+ * Removed xscreensaver's "-demo" command-line option for
+ a similar reason; use "xscreensaver-command -demo"
+ instead.
+ * Disabled SGI's "scheme" nonsense in a better way than
+ fully-qualifying the background colors in every single
+ hack.
+ * Fixed some other minor cosmetic problems when *sgiMode
+ is turned on.
+ * Fixed an X error in `bsod -root' (how ironic...)
+Changes since 2.19: * Fixed a bug that caused the mouse to sometimes not be
+ grabbed properly (meaning the window manager menu could
+ pop up over the demo-mode display.)
+ * Fixed a bug that made the stderr output sometimes get
+ printed twice.
+ * Fixed a bug that made the demo-mode scrollbar move too
+ fast.
+ * Protected against a possible buffer overflow.
+ * Made `vidwhacker' not leave stray xv windows around.
+ * New version of `ant' so that Bagley doesn't calve.
+ * Make configure on AIX get XShm from the right library.
+Changes since 2.18: * One file was missing from the tar file. Fixed.
+Changes since 2.17: * Oops, atlantis wasn't being built by default. Fixed.
+ * Added `epicycle' hack.
+ * Added `interference' hack.
+ * Added `truchet' hack.
+ * Added `bsod' hack.
+ * Added some new modes to `vidwhacker'.
+Changes since 2.16: * Added a -window-id argument to most hacks, so that they
can draw on arbitrary externally-provided windows.
- Synched with xlockmore 4.11a01.
- Added `flow' hack.
- Added `atlantis' GL hack.
- Renamed `puzzle' hack to `jigsaw', since xlock already
+ * Synched with xlockmore 4.11a01.
+ * Added `flow' hack.
+ * Added `atlantis' GL hack.
+ * Renamed `puzzle' hack to `jigsaw', since xlock already
had a different mode called `puzzle'.
- Made it self-configure properly when Motif 2.1.0 is
+ * Made it self-configure properly when Motif 2.1.0 is
being used (requires -lXp now, sigh...)
-Changes since 2.15: Made `flag' able to do XPM images.
- New look for the xscreensaver logo (`xroger').
- Fixed compilation error on Suns with adjunct passwords.
- Got multi-architecture builds working again.
- Some configure tweaks for building on HPUX and Solaris.
- Fixed bug in decayscreen.
- Fixed typo in passwd.c.
- Made `cynosure' not die when colormap is full.
-Changes since 2.14: Added `cynosure' hack.
- Added `moire2' hack.
- Tweaked `erase.c' some more.
- Made unfading a bit smoother.
- Added `vidwhacker' hack (not installed by default.)
- Added `stairs' hack.
- Split `escher' into `cage' and `moebius', as per
+Changes since 2.15: * Made `flag' able to do XPM images.
+ * New look for the xscreensaver logo (`xroger').
+ * Fixed compilation error on Suns with adjunct passwords.
+ * Got multi-architecture builds working again.
+ * Some configure tweaks for building on HPUX and Solaris.
+ * Fixed bug in decayscreen.
+ * Fixed typo in passwd.c.
+ * Made `cynosure' not die when colormap is full.
+Changes since 2.14: * Added `cynosure' hack.
+ * Added `moire2' hack.
+ * Tweaked `erase.c' some more.
+ * Made unfading a bit smoother.
+ * Added `vidwhacker' hack (not installed by default.)
+ * Added `stairs' hack.
+ * Split `escher' into `cage' and `moebius', as per
xlockmore.
- Changed subprocess handling to use sigaction() instead
+ * Changed subprocess handling to use sigaction() instead
of signal() if it's available (this is necessary for
SCO but should work fine on other systems too.)
- Various other tweaks.
-Changes since 2.13: Better fix for the Motif drag-and-die lossage.
- Put in some kludges to work around a LessTif bug.
- XScreenSaver is known to work with LessTif 0.82 now.
- Made fading work on high-end SGI video hardware.
- Fixed another SGI-specific bug in screen grabbing;
+ * Various other tweaks.
+Changes since 2.13: * Better fix for the Motif drag-and-die lossage.
+ * Put in some kludges to work around a LessTif bug.
+ * XScreenSaver is known to work with LessTif 0.82 now.
+ * Made fading work on high-end SGI video hardware.
+ * Fixed another SGI-specific bug in screen grabbing;
will the madness never cease?
- Fixed another crash in `xlyap'.
-Changes since 2.12: Made `decayscreen' do directions other than down.
- Improved `puzzle'.
- Fixed a crash in `xlyap'.
- Added CDE info to the man page, removed `cde.txt'.
- Configure tweaks for Zippy.
- Turned off the signal handling in `bubbles' because
+ * Fixed another crash in `xlyap'.
+Changes since 2.12: * Made `decayscreen' do directions other than down.
+ * Improved `puzzle'.
+ * Fixed a crash in `xlyap'.
+ * Added CDE info to the man page, removed `cde.txt'.
+ * Configure tweaks for Zippy.
+ * Turned off the signal handling in `bubbles' because
it was sometimes failing to die.
- Added `hacks/xscreensaver-sgigl.c' to make it possible
+ * Added `hacks/xscreensaver-sgigl.c' to make it possible
to run SGI's ElectroPaint hack (/usr/demos/bin/ep)
with xscreensaver. Finally!
- Fixed a buffer overrun in the locking code that some
+ * Fixed a buffer overrun in the locking code that some
wily, malicious cracker must have slipped in.
- Disabled Motif drag-and-drool in the dialog box
+ * Disabled Motif drag-and-drool in the dialog box
buttons, since it's broken in some old versions of
Motif.
-Changes since 2.11: Added `README.debugging'.
- Added `puzzle' hack.
- Added `xlyap' hack.
- Added "default-n" as a visual name, so that one can
+Changes since 2.11: * Added `README.debugging'.
+ * Added `puzzle' hack.
+ * Added `xlyap' hack.
+ * Added "default-n" as a visual name, so that one can
have -install on by default, but turn it off for
certain poorly-behaved hacks (like xv.)
- Added support for grabbing frames of external video
+ * Added support for grabbing frames of external video
(on SGI) to the screen-grabbing hacks (decayscreen,
slidescreen, slip, blitspin, and puzzle.)
- Improved look of tiles in `slidescreen'; fixed its
+ * Improved look of tiles in `slidescreen'; fixed its
color allocation problem.
-Changes since 2.10: Tweaked `blitspin', added it to the default list.
- Added `lissie', `mountain', `triangle', `worm',
+Changes since 2.10: * Tweaked `blitspin', added it to the default list.
+ * Added `lissie', `mountain', `triangle', `worm',
`rotor', and `ant' from xlockmore.
- Updated `sierpinski', `galaxy', and `lisa'.
- Thickened the lines in `braid' and `lmorph'.
- Updated VMS makefiles.
- Renamed `fract' to `vines'.
- Added `xjack' hack.
- Made a few more hacks use erase.c, and added a few
+ * Updated `sierpinski', `galaxy', and `lisa'.
+ * Thickened the lines in `braid' and `lmorph'.
+ * Updated VMS makefiles.
+ * Renamed `fract' to `vines'.
+ * Added `xjack' hack.
+ * Made a few more hacks use erase.c, and added a few
more wipe styles.
- Fixed compilation problem with Sun's version of OpenGL.
- Added ability to use sigaction() instead of signal()
+ * Fixed compilation problem with Sun's version of OpenGL.
+ * Added ability to use sigaction() instead of signal()
to work around a SCO kernel bug.
-Changes since 2.09: Fixed colormap bugs in `rd-bomb'; sped up `coral'.
- Configure tweaks for *BSD.
-Changes since 2.07: New hacks `rd-bomb' and `coral'.
- New version of `maze' with some new algorithms.
- New colorized version of `rocks'.
- Fixed a bug in qix on 64-bit machines.
- Fixed a bug in the -time option.
- Fixed a bug in configure related to LessTif.
-Changes since 2.06: Minor header tweaks in windows.c and flag.c.
- Made multi-architecture (VPATH) builds work properly.
- Merged new GL stuff from xlockmore (rubik, morph3d.)
- Fixed intermittent crashes in `imsmap' and `munch'.
- Added `fadeplot' hack from xlockmore.
-Changes since 2.05: Merged in VMS support from Patrick Moreau.
-Changes since 2.04: Fixed a MIT-SCREEN-SAVER-related crash, and tweaked
+Changes since 2.09: * Fixed colormap bugs in `rd-bomb'; sped up `coral'.
+ * Configure tweaks for *BSD.
+Changes since 2.07: * New hacks `rd-bomb' and `coral'.
+ * New version of `maze' with some new algorithms.
+ * New colorized version of `rocks'.
+ * Fixed a bug in qix on 64-bit machines.
+ * Fixed a bug in the -time option.
+ * Fixed a bug in configure related to LessTif.
+Changes since 2.06: * Minor header tweaks in windows.c and flag.c.
+ * Made multi-architecture (VPATH) builds work properly.
+ * Merged new GL stuff from xlockmore (rubik, morph3d.)
+ * Fixed intermittent crashes in `imsmap' and `munch'.
+ * Added `fadeplot' hack from xlockmore.
+Changes since 2.05: * Merged in VMS support from Patrick Moreau.
+Changes since 2.04: * Fixed a MIT-SCREEN-SAVER-related crash, and tweaked
configure to detect the extra-random -Xss library.
-Changes since 2.03: HP configure tweaks. Detect and warn about LessTif.
- Fixed low-color behavior of `goop', `pyro', `starfish',
+Changes since 2.03: * HP configure tweaks. Detect and warn about LessTif.
+ * Fixed low-color behavior of `goop', `pyro', `starfish',
`greynetic', `flame', `halo', and `moire'.
-Changes since 2.02: Fixed flicker in `pipes'. Fixed 3d in `bouboule'.
- Added `munch' hack.
- Added basic dependencies to the Makefile.in files.
-Changes since 2.01: Fixes for compiling with the MIT saver extension.
- Made the yow/fortune program be a configure option.
- Various configure tweaks.
-Changes since 2.00: Added `goop' and `starfish' hacks.
- Added colomap cycling to `halo'.
- Made `attraction' use the new colormap allocator.
- Added better $PATH diagnostics.
- There was a bug in frand! Color selection should be
+Changes since 2.02: * Fixed flicker in `pipes'. Fixed 3d in `bouboule'.
+ * Added `munch' hack.
+ * Added basic dependencies to the Makefile.in files.
+Changes since 2.01: * Fixes for compiling with the MIT saver extension.
+ * Made the yow/fortune program be a configure option.
+ * Various configure tweaks.
+Changes since 2.00: * Added `goop' and `starfish' hacks.
+ * Added colomap cycling to `halo'.
+ * Made `attraction' use the new colormap allocator.
+ * Added better $PATH diagnostics.
+ * There was a bug in frand! Color selection should be
much improved now.
-Changes since 1.34: Converted to use `configure' instead of `imake'.
- ANSI C is now required.
- Added Kerberos locking support, from Nat Lanza.
- Made the stderr text use overlay planes, if possible.
- Reworked the xlockmore compatibility stuff again.
- Added `gears', `superquadrics', `escher', `pipes',
+Changes since 1.34: * Converted to use `configure' instead of `imake'.
+ * ANSI C is now required.
+ * Added Kerberos locking support, from Nat Lanza.
+ * Made the stderr text use overlay planes, if possible.
+ * Reworked the xlockmore compatibility stuff again.
+ * Added `gears', `superquadrics', `escher', `pipes',
and `sproingies' hacks (depend on OpenGL.)
-Changes since 1.33: Fixed some bugs, made fading be a little smoother.
-Changes since 1.32: Made it work with multi-headed displays.
- Generalized sub-process management (Unix sucks!)
- Added interactive mouse frobbing to Julia.
- Added (untested) support for HPUX shadow passwords.
- Made normal non-shadow passwords be checked if the
+Changes since 1.33: * Fixed some bugs, made fading be a little smoother.
+Changes since 1.32: * Made it work with multi-headed displays.
+ * Generalized sub-process management (Unix sucks!)
+ * Added interactive mouse frobbing to Julia.
+ * Added (untested) support for HPUX shadow passwords.
+ * Made normal non-shadow passwords be checked if the
shadow passwords aren't accessible for some reason.
-Changes since 1.31: Removed *colorPrograms and *monoPrograms resources:
+Changes since 1.31: * Removed *colorPrograms and *monoPrograms resources:
made it possible to specify the desired visual on a
per-hack basis.
- Cleaned up / restructured the driver: no more globals.
- Made the Motif and Athena dialogs share more code.
- Probably fixed some Athena colormap-installation bugs.
- Fixed screen grabbing (cmap) on SGI 12-bit PseudoColor.
- Fixed divide-by-zero in bright random colormaps.
- Added an improved version of xlock's `flag' hack.
- Made unfading work better, and not flicker on SGIs.
- Added `sphere', `forest', `lisa' hacks from xlockmore.
- Added (untested) support for SunOS Adjunct passwords.
-Changes since 1.30: Improved colors and colormap cycling of many hacks.
- Cleaned up xlockmore compatibility layer.
- Made `blitspin' able to grab an image off the screen.
- Ported `swirl' and `bouboule' hacks from xlockmore.
- Made the driver more careful about not leaving bits on
- the screen, or allowing other windows to raise
+ * Cleaned up / restructured the driver: no more globals.
+ * Made the Motif and Athena dialogs share more code.
+ * Probably fixed some Athena colormap-installation bugs.
+ * Fixed screen grabbing (cmap) on SGI 12-bit PseudoColor.
+ * Fixed divide-by-zero in bright random colormaps.
+ * Added an improved version of xlock's `flag' hack.
+ * Made unfading work better, and not flicker on SGIs.
+ * Added `sphere', `forest', `lisa' hacks from xlockmore.
+ * Added (untested) support for SunOS Adjunct passwords.
+Changes since 1.30: * Improved colors and colormap cycling of many hacks.
+ * Cleaned up xlockmore compatibility layer.
+ * Made `blitspin' able to grab an image off the screen.
+ * Ported `swirl' and `bouboule' hacks from xlockmore.
+ * Made the driver more careful about not leaving bits on
+ the screen, or allowing other windows to raise
themselves: it now re-blanks the screen every so often.
- Added `-time' option to `xscreensaver-command'.
- Improved SGI screen-grabbing some more: now it can grab
+ * Added `-time' option to `xscreensaver-command'.
+ * Improved SGI screen-grabbing some more: now it can grab
TrueColor screens into PseudoColor windows and have the
colors still come out semi-reasonably.
-Changes since 1.29: Made `slidescreen' and `decayscreen' work better on
+Changes since 1.29: * Made `slidescreen' and `decayscreen' work better on
SGIs when windows of different visuals are present, by
using the XReadDisplay() extension to get a true 24-bit
image out of the frame buffer.
- Made `noseguy' be in color, if compiled with XPM.
- Ported `braid', `drift', `fract', `galaxy', `grav',
+ * Made `noseguy' be in color, if compiled with XPM.
+ * Ported `braid', `drift', `fract', `galaxy', `grav',
`ifs', `julia', `laser', `lightning', `penrose',
`sierpinski', `slip', `spiral', and `strange' hacks
from xlockmore.
- Merged `hopalong' hack with a more recent version.
- Added `cde.txt'.
-Changes since 1.27: Added `deco', `moire', and `kaleidescope' hacks.
- Merged in support for non-Motif locking and demo mode.
- Made `blitspin' and `bubbles' work in TrueColor.
- Fixed a stupid bug I introduced in `imsmap'.
- Added `poly' and `gravity' options to `qix'.
-Changes since 1.26: Added support for SGI SCREEN_SAVER extension.
- Made `fade' and `unfade' work on 8-bit SGIs.
- Made the dialog boxes more Motify.
- Added `bubbles' hack.
-Changes since 1.25: Added `lmorph' hack.
- Added viscosity and mouse-control to attraction.
- Fixed possible bad color choices in qix and attraction.
- Added ramp-mode to halo.
- Added a new RNG, which is faster and more portable
+ * Merged `hopalong' hack with a more recent version.
+ * Added `cde.txt'.
+Changes since 1.27: * Added `deco', `moire', and `kaleidescope' hacks.
+ * Merged in support for non-Motif locking and demo mode.
+ * Made `blitspin' and `bubbles' work in TrueColor.
+ * Fixed a stupid bug I introduced in `imsmap'.
+ * Added `poly' and `gravity' options to `qix'.
+Changes since 1.26: * Added support for SGI SCREEN_SAVER extension.
+ * Made `fade' and `unfade' work on 8-bit SGIs.
+ * Made the dialog boxes more Motify.
+ * Added `bubbles' hack.
+Changes since 1.25: * Added `lmorph' hack.
+ * Added viscosity and mouse-control to attraction.
+ * Fixed possible bad color choices in qix and attraction.
+ * Added ramp-mode to halo.
+ * Added a new RNG, which is faster and more portable
than using the RNG in libc.
- Made locking work on SCO.
- Various other minor tweaks that I don't remember.
-Changes since 1.24: Made it capture the stdout/stderr of its subprocesses
+ * Made locking work on SCO.
+ * Various other minor tweaks that I don't remember.
+Changes since 1.24: * Made it capture the stdout/stderr of its subprocesses
and present them on the screensaver window itself.
- Made demo mode work correctly with non-default visuals
+ * Made demo mode work correctly with non-default visuals
and color maps, instead of always using the defaults.
- Added -visual argument to all included screenhacks.
- Support for the R6 MIT-SCREEN-SAVER server extension.
- Made the demo mode list scroll properly.
- Added `pedal' hack.
-Changes since 1.23: Fixed some private-colormap oddities in slidescreen,
+ * Added -visual argument to all included screenhacks.
+ * Support for the R6 MIT-SCREEN-SAVER server extension.
+ * Made the demo mode list scroll properly.
+ * Added `pedal' hack.
+Changes since 1.23: * Fixed some private-colormap oddities in slidescreen,
decayscreen, and xroger. Fixed apparent conservation-
of-mass problem in pyro; made the shrapnel round.
-Changes since 1.22: Minor tweaks for IRIX5; fixed locking race condition.
-Changes since 1.21: Minor tweaks for X11R6.
- Fixes for non-default visuals.
-Changes since 1.20: Fixed bug in color blitspin; added default image.
- Added diagnostics to noseguy. Fixed off-by-one
- error in flame. Added some missing casts.
-Changes since 1.18: Added `flame' hack.
- Fixed a minor Motif dialog text field bug.
- Fixed yet another XPointer-not-defined-in-R4 bug.
-Changes since 1.17: Added support for shadow password files.
- Fixed some Motif-related locking bugs.
- Added diagnostics when locking is disabled.
- Made blitspin able to use the XPM library.
- Added `decayscreen' hack.
-Changes since 1.16: Added `halo' hack.
-Changes since 1.15: Portability fixes.
-Changes since 1.14: Broke the driver up into more source files.
- Moved the hacks into their own directory.
- Made all `time' parameters accept the 00:00:00 syntax,
+Changes since 1.22: * Minor tweaks for IRIX5; fixed locking race condition.
+Changes since 1.21: * Minor tweaks for X11R6.
+ * Fixes for non-default visuals.
+Changes since 1.20: * Fixed bug in color blitspin; added default image.
+ * Added diagnostics to noseguy. Fixed off-by-one
+ error in flame. Added some missing casts.
+Changes since 1.18: * Added `flame' hack.
+ * Fixed a minor Motif dialog text field bug.
+ * Fixed yet another XPointer-not-defined-in-R4 bug.
+Changes since 1.17: * Added support for shadow password files.
+ * Fixed some Motif-related locking bugs.
+ * Added diagnostics when locking is disabled.
+ * Made blitspin able to use the XPM library.
+ * Added `decayscreen' hack.
+Changes since 1.16: * Added `halo' hack.
+Changes since 1.15: * Portability fixes.
+Changes since 1.14: * Broke the driver up into more source files.
+ * Moved the hacks into their own directory.
+ * Made all `time' parameters accept the 00:00:00 syntax,
so that even the parameters which are normally read as
minutes can be specified in seconds.
- Added colormap cycling to `imsmap'.
- Made hyper work with K&R compilers.
-Changes since 1.13: Added `orbit' option to `attraction' hack.
- Added `lock-timeout' option.
- Cleaned up options of `maze' hack.
-Changes since 1.8: Added demo mode, and locking.
- Added `maze' hack.
- Added `norotate' option to `rocks' hack.
+ * Added colormap cycling to `imsmap'.
+ * Made hyper work with K&R compilers.
+Changes since 1.13: * Added `orbit' option to `attraction' hack.
+ * Added `lock-timeout' option.
+ * Cleaned up options of `maze' hack.
+Changes since 1.8: * Added demo mode, and locking.
+ * Added `maze' hack.
+ * Added `norotate' option to `rocks' hack.