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 fadeplot - Draws a swimming ribbon.
109 escher - Draws some escher-like scenes (GLX only.)
110 gears - Draws interlocking rotating gears (GLX only.)
111 morph3d - Draws shiny shape-changing 3d forms (GLX only.)
112 superquadrics - More shiny shape-changing 3d forms (GLX only.)
113 pipes - Generates a field of intertwined plumbing (GLX only.)
114 rubik - Solves a Rubik's Cube (GLX only.)
115 sproingies - Marble Madness meets Q-Bert (GLX only.)
117 All of these will pop up their own window unless given that -root option.
118 See their man pages for more details.
120 Other reasonable things to use as screensavers, if you have them, are
122 xdaliclock -root -builtin2 - melting digital clock
123 xswarm -r 2>&- - swimming sperm
124 xwave -root - random 3d graphs
125 xbouncebits - bounce arbitrary bitmaps around
126 ico -r -p8 -faces -sleep 1 - it's dull, but it's there
127 xv -root file.gif -quit - they don't all have to animate!
128 xsplinefun - bouncing splines
129 xfishtank -c black -d -r 1 - fish (use version 2.0 or later)
130 xtacy -root - various eye candy
131 /usr/demos/bin/bongo -wbongo - an SGI GL demo
133 You can get all of these from the contrib directory on ftp.x.org. If you
134 know of (or write) any other interesting programs that can be used as
135 screensavers, please let me know!
137 The latest version of xscreensaver is always available on the web at
138 http://people.netscape.com/jwz/xscreensaver/.
140 -- Jamie Zawinski <jwz@netscape.com>
143 Changes since 2.06: Minor header tweaks in windows.c and flag.c.
144 Made multi-architecture (VPATH) builds work properly.
145 Merged new GL stuff from xlockmore (rubik, morph3d.)
146 Fixed intermittent crashes in `imsmap' and `munch'.
147 Added `fadeplot' hack from xlockmore.
148 Changes since 2.05: Merged in VMS support from Patrick Moreau.
149 Changes since 2.04: Fixed a MIT-SCREEN-SAVER-related crash, and tweaked
150 configure to detect the extra-random -Xss library.
151 Changes since 2.03: HP configure tweaks. Detect and warn about LessTif.
152 Fixed low-color behavior of `goop', `pyro', `starfish',
153 `greynetic', `flame', `halo', and `moire'.
154 Changes since 2.02: Fixed flicker in `pipes'. Fixed 3d in `bouboule'.
156 Added basic dependencies to the Makefile.in files.
157 Changes since 2.01: Fixes for compiling with the MIT saver extension.
158 Made the yow/fortune program be a configure option.
159 Various configure tweaks.
160 Changes since 2.00: Added `goop' and `starfish' hacks.
161 Added colomap cycling to `halo'.
162 Made `attraction' use the new colormap allocator.
163 Added better $PATH diagnostics.
164 There was a bug in frand! Color selection should be
166 Changes since 1.34: Converted to use `configure' instead of `imake'.
167 ANSI C is now required.
168 Added Kerberos locking support, from Nat Lanza.
169 Made the stderr text use overlay planes, if possible.
170 Reworked the xlockmore compatibility stuff again.
171 Added `gears', `superquadrics', `escher', `pipes',
172 and `sproingies' hacks (depend on OpenGL.)
173 Changes since 1.33: Fixed some bugs, made fading be a little smoother.
174 Changes since 1.32: Made it work with multi-headed displays.
175 Generalized sub-process management (Unix sucks!)
176 Added interactive mouse frobbing to Julia.
177 Added (untested) support for HPUX shadow passwords.
178 Made normal non-shadow passwords be checked if the
179 shadow passwords aren't accessible for some reason.
180 Changes since 1.31: Removed *colorPrograms and *monoPrograms resources:
181 made it possible to specify the desired visual on a
183 Cleaned up / restructured the driver: no more globals.
184 Made the Motif and Athena dialogs share more code.
185 Probably fixed some Athena colormap-installation bugs.
186 Fixed screen grabbing (cmap) on SGI 12-bit PseudoColor.
187 Fixed divide-by-zero in bright random colormaps.
188 Added an improved version of xlock's `flag' hack.
189 Made unfading work better, and not flicker on SGIs.
190 Added `sphere', `forest', `lisa' hacks from xlockmore.
191 Added (untested) support for SunOS Adjunct passwords.
192 Changes since 1.30: Improved colors and colormap cycling of many hacks.
193 Cleaned up xlockmore compatibility layer.
194 Made `blitspin' able to grab an image off the screen.
195 Ported `swirl' and `bouboule' hacks from xlockmore.
196 Made the driver more careful about not leaving bits on
197 the screen, or allowing other windows to raise
198 themselves: it now re-blanks the screen every so often.
199 Added `-time' option to `xscreensaver-command'.
200 Improved SGI screen-grabbing some more: now it can grab
201 TrueColor screens into PseudoColor windows and have the
202 colors still come out semi-reasonably.
203 Changes since 1.29: Made `slidescreen' and `decayscreen' work better on
204 SGIs when windows of different visuals are present, by
205 using the XReadDisplay() extension to get a true 24-bit
206 image out of the frame buffer.
207 Made `noseguy' be in color, if compiled with XPM.
208 Ported `braid', `drift', `fract', `galaxy', `grav',
209 `ifs', `julia', `laser', `lightning', `penrose',
210 `sierpinski', `slip', `spiral', and `strange' hacks
212 Merged `hopalong' hack with a more recent version.
214 Changes since 1.27: Added `deco', `moire', and `kaleidescope' hacks.
215 Merged in support for non-Motif locking and demo mode.
216 Made `blitspin' and `bubbles' work in TrueColor.
217 Fixed a stupid bug I introduced in `imsmap'.
218 Added `poly' and `gravity' options to `qix'.
219 Changes since 1.26: Added support for SGI SCREEN_SAVER extension.
220 Made `fade' and `unfade' work on 8-bit SGIs.
221 Made the dialog boxes more Motify.
222 Added `bubbles' hack.
223 Changes since 1.25: Added `lmorph' hack.
224 Added viscosity and mouse-control to attraction.
225 Fixed possible bad color choices in qix and attraction.
226 Added ramp-mode to halo.
227 Added a new RNG, which is faster and more portable
228 than using the RNG in libc.
229 Made locking work on SCO.
230 Various other minor tweaks that I don't remember.
231 Changes since 1.24: Made it capture the stdout/stderr of its subprocesses
232 and present them on the screensaver window itself.
233 Made demo mode work correctly with non-default visuals
234 and color maps, instead of always using the defaults.
235 Added -visual argument to all included screenhacks.
236 Support for the R6 MIT-SCREEN-SAVER server extension.
237 Made the demo mode list scroll properly.
239 Changes since 1.23: Fixed some private-colormap oddities in slidescreen,
240 decayscreen, and xroger. Fixed apparent conservation-
241 of-mass problem in pyro; made the shrapnel round.
242 Changes since 1.22: Minor tweaks for IRIX5; fixed locking race condition.
243 Changes since 1.21: Minor tweaks for X11R6.
244 Fixes for non-default visuals.
245 Changes since 1.20: Fixed bug in color blitspin; added default image.
246 Added diagnostics to noseguy. Fixed off-by-one
247 error in flame. Added some missing casts.
248 Changes since 1.18: Added `flame' hack.
249 Fixed a minor Motif dialog text field bug.
250 Fixed yet another XPointer-not-defined-in-R4 bug.
251 Changes since 1.17: Added support for shadow password files.
252 Fixed some Motif-related locking bugs.
253 Added diagnostics when locking is disabled.
254 Made blitspin able to use the XPM library.
255 Added `decayscreen' hack.
256 Changes since 1.16: Added `halo' hack.
257 Changes since 1.15: Portability fixes.
258 Changes since 1.14: Broke the driver up into more source files.
259 Moved the hacks into their own directory.
260 Made all `time' parameters accept the 00:00:00 syntax,
261 so that even the parameters which are normally read as
262 minutes can be specified in seconds.
263 Added colormap cycling to `imsmap'.
264 Made hyper work with K&R compilers.
265 Changes since 1.13: Added `orbit' option to `attraction' hack.
266 Added `lock-timeout' option.
267 Cleaned up options of `maze' hack.
268 Changes since 1.8: Added demo mode, and locking.
270 Added `norotate' option to `rocks' hack.