X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=README;h=bc6809766612b7a306548cb0776862fec1f99f51;hb=df053bcb240bd8d82e3bebf48a9766a8728bca4b;hp=2783d608b2bd94de41a0cdc078aa66b87b3362c7;hpb=0a1527cc01e9894017614b7c36b838b2b6914ba9;p=xscreensaver diff --git a/README b/README index 2783d608..bc680976 100644 --- a/README +++ b/README @@ -1,7 +1,32 @@ -See config.h for configuration parameters. To build, do the usual: + XScreenSaver - xmkmf ; make ; make install ; make install.man + a screen saver and locker for the X window system + by Jamie Zawinski + +To build on Unix: + + - ./configure + - make + - make install + +The `configure' shell script will attempt to figure out which options are +appropriate for your system, and will create config.h and the various +Makefiles for you. Run `configure --help' to see how to override these +choices, or to specify things like the default installation directory. +The file `INSTALL' gives a general overview of use of these sorts of +configure scripts (those generated by the GNU autoconf system.) +The most important hint is probably this: + + ./configure --includedir=/opt/Motif/include --libdir=/opt/Motif/lib + +To build on VMS, see README.VMS. + +If you think you've found a bug, please let me know; but first, read +the enlosed `README.debugging' file to find out what kind of information +would be most helpful to include in your bug report. + + ============ 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 @@ -20,13 +45,15 @@ xautolock programs is the ease with which new graphics hacks can be installed: you don't need to recompile this program to add a new display mode, you just change some resource settings. Any program which can be invoked in such a way that it draws on the root window of the screen can -now be used as a screensaver without modification [*]. The programs that +now be used as a screensaver without modification. The programs that are being run as screensavers don't need to have any special knowledge about what it means to be a screensaver. -The XIdle extension will be used if you have it (win win.) +The XIDLE, MIT-SCREEN-SAVER, and/or SGI SCREEN_SAVER server extensions +will be used if you have them. -Unfortunately, locking doesn't work if you don't have Motif. +The dialog boxes (for locking and demo-mode) look best using Motif, but +can be configured to use Athena widgets instead. Also included are several graphics hacks for use as screensavers. There's nothing magic about these: they're just programs that draw on the root @@ -35,6 +62,7 @@ window, which are pointed at by the screensaver's default resource settings. qix - My own implementation of this, with many more options than you would have thought qix could have. helix - Generates spirally "stringart" patterns. + pedal - Draws a different kind of spirally pattern. rorschach - Random inkblot patterns. attraction - A bouncing ball demo, or a qix-like demo, or a wild color-cycling thing, with some odd rules. @@ -44,13 +72,67 @@ window, which are pointed at by the screensaver's default resource settings. imsmap - Generates random maps or cloud formations. hypercube - 2d projection of a hypercube rotating on all four axes. slidescreen - Divides the screen into a grid and plays a 16-puzzle on it. + decayscreen - A melting effect. + jigsaw - Turns the screen into a jigsaw puzzle and shuffles it. halo - Random circular patterns. pyro - Fireworks. Looks a lot like the version in xlock. hopalong - Fractals. I snarfed this code from xlock. + flame - Fractals. Also from xlock. noseguy - A guy with a big nose wanders around the screen saying things. I snarfed this code from xnlock. maze - This is the X maze demo modified to take a -root option so that it works with xscreensaver. + lmorph - morphing line drawings. + bubbles - condensation forms on your monitor, then pops. + deco - Generates Brady-Bunch-era wall paneling. + moire - Circular interference patterns. + moire2 - More moire. + kaleidescope - Groovy, man. + swirl - Swirly color-cycling patterns. + bouboule - Spinning bubbles on a transparent ball. + braid - Draws random color-cycling braids around a circle. + drift - Drifting recursive fractal cosmic flames. + vines - Small, curvy geometric patterns. + galaxy - Spinning, colliding galaxies. + grav - Orbital simulation and/or cloud chamber. + ifs - Spinning, colliding iterated-function-system shapes. + julia - Animated rendition of the Julia set. + laser - Moving radiating lines. + lightning - Crackling fractal lightning bolts. + penrose - Quasiperiodic tilings. + sierpinski - two-dimensional Sierpinski triangle. + slip - Sucks your desktop through a jet engine. + spiral - Circular color-cycling interference patterns. + strange - Animating strange attractors. + flag - A waving flag of an arbitrary bitmap or text. + sphere - Draws a bunch of shaded spheres. + forest - grows a fractal forest. + lisa - draws animated full-loop lisajous figures. + lissie - another lisajous path. + goop - Squishy transparent oil-and-bubble images + starfish - Radially-symmetric throbbing colormap-hacking blobs. + munch - The classic 1962-vintage "munching squares" hack. + rd-bomb - Reaction-diffusion fractals. + coral - Simulation of coral growth, sort of. + fadeplot - Draws a swimming ribbon. + mountain - Generates mountains on a square grid. + triangle - Generates mountains on a triangular grid. + worm - Draws wiggly worms. + rotor - Draws a rotating spiral pattern. + ant - A cellular automaton. + xjack - Simulates a schizophrenic typist. + xlyap - Calculates and displays Lyapunov exponents. + flow - More strange attractors. + 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.) + pipes - Generates a field of intertwined plumbing (GLX only.) + rubik - Solves a Rubik's Cube (GLX only.) + sproingies - Marble Madness meets Q-Bert (GLX only.) + stairs - Draws Escher's infinite staircase (GLX only.) + cage - Draws Escher's impossible cage (GLX only.) + moebius - Draws Escher's Moebius Strip II (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. @@ -61,17 +143,236 @@ Other reasonable things to use as screensavers, if you have them, are xswarm -r 2>&- - swimming sperm xwave -root - random 3d graphs xbouncebits - bounce arbitrary bitmaps around - ico -r - it's dull, but it's there + ico -r -p8 -faces -sleep 1 - it's dull, but it's there xv -root file.gif -quit - they don't all have to animate! xsplinefun - bouncing splines - kaleid -root - qix-like kaleidescope patterns xfishtank -c black -d -r 1 - fish (use version 2.0 or later) + xmountains -b - very realistic generated mountains + xtacy -root - various eye candy + xearth -wait 0 -timewarp 400 - the earth as seen from space + /usr/demos/bin/bongo - an SGI GL demo + /usr/demos/bin/ep -S - another: the stunning ElectroPaint. + (Compile hacks/xscreensaver-sgigl.c + to use these with xscreensaver.) + +You can get most of these from the contrib directory on ftp.x.org. If you +know of (or write) any other interesting programs that can be used as +screensavers, please let me know! -You can get all of these from export.lcs.mit.edu. If you know of (or write) -any other interesting programs that can be used as screensavers, please let -me know! +The latest version of xscreensaver is always available on the web at +http://people.netscape.com/jwz/xscreensaver/. - -- Jamie Zawinski + -- Jamie Zawinski -[*] It may be necessary to include "vroot.h" in the program, but that would -be necessary for it to work with virtual-root window managers anyway. + +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 + had a different mode called `puzzle'. + 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 + xlockmore. + 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; + 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 + it was sometimes failing to die. + 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 + wily, malicious cracker must have slipped in. + 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 + have -install on by default, but turn it off for + certain poorly-behaved hacks (like xv.) + 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 + color allocation problem. +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 + more wipe styles. + 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 + 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', + `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 + 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', + 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 + shadow passwords aren't accessible for some reason. +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 + 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 + 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 + 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', + `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 + 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 + and present them on the screensaver window itself. + 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, + 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, + 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.