ftp://ftp.uni-heidelberg.de/pub/X11/contrib/applications/xscreensaver-2.07.tar.gz
[xscreensaver] / README
1
2                               XScreenSaver
3
4             a screen saver and locker for the X window system
5                             by Jamie Zawinski
6
7 To build on Unix:
8
9   -  ./configure
10   -  make
11   -  make install
12
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:
20
21    ./configure --includedir=/opt/Motif/include --libdir=/opt/Motif/lib
22
23 To build on VMS, see README.VMS.
24
25                               ============
26
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.
30
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 
34 in the movies.
35
36 However, xscreensaver can also be used as a screen locker, to prevent
37 others from using your terminal while your are away.
38
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.
47
48 The XIDLE, MIT-SCREEN-SAVER, and/or SGI SCREEN_SAVER server extensions
49 will be used if you have them.
50
51 The dialog boxes (for locking and demo-mode) look best using Motif, but
52 can be configured to use Athena widgets instead.
53
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.
57
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.)
116
117 All of these will pop up their own window unless given that -root option.
118 See their man pages for more details.
119
120 Other reasonable things to use as screensavers, if you have them, are
121
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
132
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!
136
137 The latest version of xscreensaver is always available on the web at
138 http://people.netscape.com/jwz/xscreensaver/.
139
140         -- Jamie Zawinski <jwz@netscape.com>
141
142 \f
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'.
155                         Added `munch' hack.
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
165                         much improved now.
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
182                         per-hack basis.
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
211                         from xlockmore.
212                         Merged `hopalong' hack with a more recent version.
213                         Added `cde.txt'.
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.
238                         Added `pedal' hack.
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.
269                         Added `maze' hack.
270                         Added `norotate' option to `rocks' hack.