4 a screen saver and locker for the X window system
13 The `configure' shell script will attempt to figure out which options are
14 appropriate for your system, and will create config.h and the various
15 Makefiles for you. Run `configure --help' to see how to override these
16 choices, or to specify things like the default installation directory.
17 The file `INSTALL' gives a general overview of use of these sorts of
18 configure scripts (those generated by the GNU autoconf system.)
19 The most important hint is probably this:
21 ./configure --includedir=/opt/Motif/include --libdir=/opt/Motif/lib
23 To build on VMS, see README.VMS.
27 The xscreensaver program waits until the keyboard and mouse have been idle
28 for a period, and then runs a graphics demo chosen at random. It turns off
29 as soon as there is any mouse or keyboard activity.
31 The purpose of xscreensaver is to display pretty pictures on your screen
32 when it is not in use, in keeping with the philosophy that unattended
33 monitors should always be doing something interesting, just like they do
36 However, xscreensaver can also be used as a screen locker, to prevent
37 others from using your terminal while your are away.
39 The benefit that this program has over the combination of the xlock and
40 xautolock programs is the ease with which new graphics hacks can be
41 installed: you don't need to recompile this program to add a new display
42 mode, you just change some resource settings. Any program which can be
43 invoked in such a way that it draws on the root window of the screen can
44 now be used as a screensaver without modification. The programs that
45 are being run as screensavers don't need to have any special knowledge
46 about what it means to be a screensaver.
48 The XIDLE, MIT-SCREEN-SAVER, and/or SGI SCREEN_SAVER server extensions
49 will be used if you have them.
51 The dialog boxes (for locking and demo-mode) look best using Motif, but
52 can be configured to use Athena widgets instead.
54 Also included are several graphics hacks for use as screensavers. There's
55 nothing magic about these: they're just programs that draw on the root
56 window, which are pointed at by the screensaver's default resource settings.
58 qix - My own implementation of this, with many more options
59 than you would have thought qix could have.
60 helix - Generates spirally "stringart" patterns.
61 pedal - Draws a different kind of spirally pattern.
62 rorschach - Random inkblot patterns.
63 attraction - A bouncing ball demo, or a qix-like demo, or a wild
64 color-cycling thing, with some odd rules.
65 greynetic - Random colored/stippled rectangles.
66 rocks - Flying through an asteroid field.
67 blitspin - Rotate a bitmap using bitblts.
68 imsmap - Generates random maps or cloud formations.
69 hypercube - 2d projection of a hypercube rotating on all four axes.
70 slidescreen - Divides the screen into a grid and plays a 16-puzzle on it.
71 decayscreen - A melting effect.
72 halo - Random circular patterns.
73 pyro - Fireworks. Looks a lot like the version in xlock.
74 hopalong - Fractals. I snarfed this code from xlock.
75 flame - Fractals. Also from xlock.
76 noseguy - A guy with a big nose wanders around the screen saying
77 things. I snarfed this code from xnlock.
78 maze - This is the X maze demo modified to take a -root option
79 so that it works with xscreensaver.
80 lmorph - morphing line drawings.
81 bubbles - condensation forms on your monitor, then pops.
82 deco - Generates Brady-Bunch-era wall paneling.
83 moire - Circular interference patterns.
84 kaleidescope - Groovy, man.
85 swirl - Swirly color-cycling patterns.
86 bouboule - Spinning bubbles on a transparent ball.
87 braid - Draws random color-cycling braids around a circle.
88 drift - Drifting recursive fractal cosmic flames.
89 fract - Small, curvy geometric patterns.
90 galaxy - Spinning, colliding galaxies.
91 grav - Orbital simulation and/or cloud chamber.
92 ifs - Spinning, colliding iterated-function-system shapes.
93 julia - Animated rendition of the Julia set.
94 laser - Moving radiating lines.
95 lightning - Crackling fractal lightning bolts.
96 penrose - Quasiperiodic tilings.
97 sierpinski - two-dimensional Sierpinski triangle.
98 slip - Sucks your desktop through a jet engine.
99 spiral - Circular color-cycling interference patterns.
100 strange - Animating strange attractors.
101 flag - A waving flag of an arbitrary bitmap or text.
102 sphere - draw a bunch of shaded spheres.
103 forest - grows a fractal forest.
104 lisa - draws animated full-loop lisajous figures.
105 goop - Squishy transparent oil-and-bubble images
106 starfish - Radially-symmetric throbbing colormap-hacking blobs.
107 munch - The classic 1962-vintage "munching squares" hack.
108 rd-bomb - Reaction-diffusion fractals.
109 coral - Simulation of coral growth, sort of.
110 fadeplot - Draws a swimming ribbon.
111 escher - Draws some escher-like scenes (GLX only.)
112 gears - Draws interlocking rotating gears (GLX only.)
113 morph3d - Draws shiny shape-changing 3d forms (GLX only.)
114 superquadrics - More shiny shape-changing 3d forms (GLX only.)
115 pipes - Generates a field of intertwined plumbing (GLX only.)
116 rubik - Solves a Rubik's Cube (GLX only.)
117 sproingies - Marble Madness meets Q-Bert (GLX only.)
119 All of these will pop up their own window unless given that -root option.
120 See their man pages for more details.
122 Other reasonable things to use as screensavers, if you have them, are
124 xdaliclock -root -builtin2 - melting digital clock
125 xswarm -r 2>&- - swimming sperm
126 xwave -root - random 3d graphs
127 xbouncebits - bounce arbitrary bitmaps around
128 ico -r -p8 -faces -sleep 1 - it's dull, but it's there
129 xv -root file.gif -quit - they don't all have to animate!
130 xsplinefun - bouncing splines
131 xfishtank -c black -d -r 1 - fish (use version 2.0 or later)
132 xtacy -root - various eye candy
133 /usr/demos/bin/bongo -wbongo - an SGI GL demo
135 You can get all of these from the contrib directory on ftp.x.org. If you
136 know of (or write) any other interesting programs that can be used as
137 screensavers, please let me know!
139 The latest version of xscreensaver is always available on the web at
140 http://people.netscape.com/jwz/xscreensaver/.
142 -- Jamie Zawinski <jwz@netscape.com>
145 Changes since 2.09: Fixed color bugs in rd-bomb; sped up coral.
146 Changes since 2.07: New hacks "rd-bomb" and "coral".
147 New version of "maze" with some new algorithms.
148 New colorized version of "rocks".
149 Fixed a bug in qix on 64-bit machines.
150 Fixed a bug in the -time option.
151 Fixed a bug in configure related to LessTif.
152 Changes since 2.06: Minor header tweaks in windows.c and flag.c.
153 Made multi-architecture (VPATH) builds work properly.
154 Merged new GL stuff from xlockmore (rubik, morph3d.)
155 Fixed intermittent crashes in `imsmap' and `munch'.
156 Added `fadeplot' hack from xlockmore.
157 Changes since 2.05: Merged in VMS support from Patrick Moreau.
158 Changes since 2.04: Fixed a MIT-SCREEN-SAVER-related crash, and tweaked
159 configure to detect the extra-random -Xss library.
160 Changes since 2.03: HP configure tweaks. Detect and warn about LessTif.
161 Fixed low-color behavior of `goop', `pyro', `starfish',
162 `greynetic', `flame', `halo', and `moire'.
163 Changes since 2.02: Fixed flicker in `pipes'. Fixed 3d in `bouboule'.
165 Added basic dependencies to the Makefile.in files.
166 Changes since 2.01: Fixes for compiling with the MIT saver extension.
167 Made the yow/fortune program be a configure option.
168 Various configure tweaks.
169 Changes since 2.00: Added `goop' and `starfish' hacks.
170 Added colomap cycling to `halo'.
171 Made `attraction' use the new colormap allocator.
172 Added better $PATH diagnostics.
173 There was a bug in frand! Color selection should be
175 Changes since 1.34: Converted to use `configure' instead of `imake'.
176 ANSI C is now required.
177 Added Kerberos locking support, from Nat Lanza.
178 Made the stderr text use overlay planes, if possible.
179 Reworked the xlockmore compatibility stuff again.
180 Added `gears', `superquadrics', `escher', `pipes',
181 and `sproingies' hacks (depend on OpenGL.)
182 Changes since 1.33: Fixed some bugs, made fading be a little smoother.
183 Changes since 1.32: Made it work with multi-headed displays.
184 Generalized sub-process management (Unix sucks!)
185 Added interactive mouse frobbing to Julia.
186 Added (untested) support for HPUX shadow passwords.
187 Made normal non-shadow passwords be checked if the
188 shadow passwords aren't accessible for some reason.
189 Changes since 1.31: Removed *colorPrograms and *monoPrograms resources:
190 made it possible to specify the desired visual on a
192 Cleaned up / restructured the driver: no more globals.
193 Made the Motif and Athena dialogs share more code.
194 Probably fixed some Athena colormap-installation bugs.
195 Fixed screen grabbing (cmap) on SGI 12-bit PseudoColor.
196 Fixed divide-by-zero in bright random colormaps.
197 Added an improved version of xlock's `flag' hack.
198 Made unfading work better, and not flicker on SGIs.
199 Added `sphere', `forest', `lisa' hacks from xlockmore.
200 Added (untested) support for SunOS Adjunct passwords.
201 Changes since 1.30: Improved colors and colormap cycling of many hacks.
202 Cleaned up xlockmore compatibility layer.
203 Made `blitspin' able to grab an image off the screen.
204 Ported `swirl' and `bouboule' hacks from xlockmore.
205 Made the driver more careful about not leaving bits on
206 the screen, or allowing other windows to raise
207 themselves: it now re-blanks the screen every so often.
208 Added `-time' option to `xscreensaver-command'.
209 Improved SGI screen-grabbing some more: now it can grab
210 TrueColor screens into PseudoColor windows and have the
211 colors still come out semi-reasonably.
212 Changes since 1.29: Made `slidescreen' and `decayscreen' work better on
213 SGIs when windows of different visuals are present, by
214 using the XReadDisplay() extension to get a true 24-bit
215 image out of the frame buffer.
216 Made `noseguy' be in color, if compiled with XPM.
217 Ported `braid', `drift', `fract', `galaxy', `grav',
218 `ifs', `julia', `laser', `lightning', `penrose',
219 `sierpinski', `slip', `spiral', and `strange' hacks
221 Merged `hopalong' hack with a more recent version.
223 Changes since 1.27: Added `deco', `moire', and `kaleidescope' hacks.
224 Merged in support for non-Motif locking and demo mode.
225 Made `blitspin' and `bubbles' work in TrueColor.
226 Fixed a stupid bug I introduced in `imsmap'.
227 Added `poly' and `gravity' options to `qix'.
228 Changes since 1.26: Added support for SGI SCREEN_SAVER extension.
229 Made `fade' and `unfade' work on 8-bit SGIs.
230 Made the dialog boxes more Motify.
231 Added `bubbles' hack.
232 Changes since 1.25: Added `lmorph' hack.
233 Added viscosity and mouse-control to attraction.
234 Fixed possible bad color choices in qix and attraction.
235 Added ramp-mode to halo.
236 Added a new RNG, which is faster and more portable
237 than using the RNG in libc.
238 Made locking work on SCO.
239 Various other minor tweaks that I don't remember.
240 Changes since 1.24: Made it capture the stdout/stderr of its subprocesses
241 and present them on the screensaver window itself.
242 Made demo mode work correctly with non-default visuals
243 and color maps, instead of always using the defaults.
244 Added -visual argument to all included screenhacks.
245 Support for the R6 MIT-SCREEN-SAVER server extension.
246 Made the demo mode list scroll properly.
248 Changes since 1.23: Fixed some private-colormap oddities in slidescreen,
249 decayscreen, and xroger. Fixed apparent conservation-
250 of-mass problem in pyro; made the shrapnel round.
251 Changes since 1.22: Minor tweaks for IRIX5; fixed locking race condition.
252 Changes since 1.21: Minor tweaks for X11R6.
253 Fixes for non-default visuals.
254 Changes since 1.20: Fixed bug in color blitspin; added default image.
255 Added diagnostics to noseguy. Fixed off-by-one
256 error in flame. Added some missing casts.
257 Changes since 1.18: Added `flame' hack.
258 Fixed a minor Motif dialog text field bug.
259 Fixed yet another XPointer-not-defined-in-R4 bug.
260 Changes since 1.17: Added support for shadow password files.
261 Fixed some Motif-related locking bugs.
262 Added diagnostics when locking is disabled.
263 Made blitspin able to use the XPM library.
264 Added `decayscreen' hack.
265 Changes since 1.16: Added `halo' hack.
266 Changes since 1.15: Portability fixes.
267 Changes since 1.14: Broke the driver up into more source files.
268 Moved the hacks into their own directory.
269 Made all `time' parameters accept the 00:00:00 syntax,
270 so that even the parameters which are normally read as
271 minutes can be specified in seconds.
272 Added colormap cycling to `imsmap'.
273 Made hyper work with K&R compilers.
274 Changes since 1.13: Added `orbit' option to `attraction' hack.
275 Added `lock-timeout' option.
276 Cleaned up options of `maze' hack.
277 Changes since 1.8: Added demo mode, and locking.
279 Added `norotate' option to `rocks' hack.