ftp://ftp.sunet.se/pub/os/Linux/distributions/ultrapenguin/ultrapenguin-1.1/SRPMS...
[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    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.)
118
119 All of these will pop up their own window unless given that -root option.
120 See their man pages for more details.
121
122 Other reasonable things to use as screensavers, if you have them, are
123
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
134
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!
138
139 The latest version of xscreensaver is always available on the web at
140 http://people.netscape.com/jwz/xscreensaver/.
141
142         -- Jamie Zawinski <jwz@netscape.com>
143
144 \f
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'.
164                         Added `munch' hack.
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
174                         much improved now.
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
191                         per-hack basis.
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
220                         from xlockmore.
221                         Merged `hopalong' hack with a more recent version.
222                         Added `cde.txt'.
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.
247                         Added `pedal' hack.
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.
278                         Added `maze' hack.
279                         Added `norotate' option to `rocks' hack.