X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=README;h=e3183370819289c927de65e53faa4e04be32660d;hb=f54438ea00f152166e68073e98000fd3a00f65cd;hp=b2204503e1f3cb4bd1a634d2bc52645f107ab148;hpb=c6b273ef7292ba10943694df1656b05203d7b62f;p=xscreensaver diff --git a/README b/README index b2204503..e3183370 100644 --- a/README +++ b/README @@ -4,6 +4,8 @@ a screen saver and locker for the X window system by Jamie Zawinski + http://www.jwz.org/xscreensaver/ + To build on Unix: - ./configure @@ -18,13 +20,18 @@ 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 + ./configure --with-motif=/opt/Motif --with-xpm=/usr/local 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. +If you are upgrading, you might want to delete your ~/.xscreensaver file. +If you don't, you might not see the new graphics modes. If you are upgrading +from version 2.* to version 3.*, definitely do delete your .xscreensaver file. + +If you think you've found a bug, please let me know! No bug report is too +small. But first, please read the enclosed `README.debugging' file to find +out what kind of information would be most helpful to include in your bug +report. Getting Started: @@ -44,148 +51,235 @@ xscreensaver has an extensive manual -- please read it! ============ -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 -as soon as there is any mouse or keyboard activity. - -The purpose of xscreensaver is to display pretty pictures on your screen -when it is not in use, in keeping with the philosophy that unattended -monitors should always be doing something interesting, just like they do -in the movies. - -However, xscreensaver can also be used as a screen locker, to prevent -others from using your terminal while your are away. - -The benefit that this program has over the combination of the xlock and -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 -are being run as screensavers don't need to have any special knowledge -about what it means to be a screensaver. - -The XIDLE, MIT-SCREEN-SAVER, and/or SGI SCREEN_SAVER server extensions -will be used if you have them. +The xscreensaver daemon waits until the keyboard and mouse have been idle +for a period, and then runs a graphics demo chosen at random. The demo is +terminated as soon as there is any mouse or keyboard activity (or, in +locking mode, when the proper password is typed.) -The dialog boxes (for locking and demo-mode) look best using Motif or -Lesstif, but can be configured to use Athena widgets instead. +It is trivially easy to add new display modes to xscreensaver: any program +which can be invoked in such a way that it draws on the root window of the +screen can be used as a screensaver. You just change a resource setting -- +there's no need to recompile or reinstall anything. -Also included are numerous graphics hacks for use as screensavers. There's -nothing magic about these: they're just programs that draw on the root -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. - greynetic - Random colored/stippled rectangles. - rocks - Flying through an asteroid field. - blitspin - Rotate a bitmap using bitblts. - 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. - epicycle - Spiral patterns based on pre-Copernican cosmologies. - interference - More groovy colored fields. - truchet - Nonrepeating planar tilings. - bsod - Simulates the system crashes of various other OSes. - 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 respective man pages for more details. - -Other reasonable things to use as screensavers, if you have them, are + ============ - xdaliclock -root -builtin2 - melting digital clock - xswarm -r 2>&- - swimming sperm - xwave -root - random 3d graphs - xbouncebits - bounce arbitrary bitmaps around - 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 - 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.) +Along with the xscreensaver daemon itself, this package also includes +numerous graphics hacks for use as screensavers. There is nothing magic +about these: they are just programs that draw on the root window. -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! +More than 80 such programs are included. For details, see the xscreensaver +web page, or the enclosed manual pages. There are also some helpful hints +on customization in the xscreensaver app-defaults file (normally installed +in /usr/lib/X11/app-defaults/XScreenSaver.) The latest version of xscreensaver is always available on the web at -http://people.netscape.com/jwz/xscreensaver/. +http://www.jwz.org/xscreensaver/. - -- Jamie Zawinski + ============ - -Changes since 2.20: * Made "xscreensaver-command -time" use different words. +Changes since 3.06: * Configure tweaks (sometimes -lXmu wasn't getting linked + in properly; check for _Xsetlocale in -lXintl.) + * Portability fixes for sonar.c. + * Fixed a compilation problem when you have GL but don't + have XPM. + * Made configure notice when MesaGL requires -lpthread. + * Made `flame' ignore SIGFPE (not sure if this is the + right fix; it seems only to be needed on FreeBSD.) + * Kludged `rd-bomb' work on visuals that are of depth 24 + but that *do not* support pixmaps of depth 32. + * Fixed `halo' to work properly in TrueColor. + * Changed `xscreensaver.spec' to install the hacks in + /usr/X11R6/lib/xscreensaver/ by default, since that's + where recent Red Hat distributions put them. + * Added `t3d' hack. + * Updated versions of `crystal', `hopalong', and `flow' + from xlockmore. + * Imported `demon' and `loop' modes from xlockmore. +Changes since 3.05: * Oops, the "default-n" visual descriptor was broken; + it was always installing a colormap if the + `installColormap' preference was set, meaning that + `xearth', `xv' and friends were using the wrong + colors on 8-bit systems. + * Turned off HAVE_PING in `sonar', since it compiles + on some Linux systems, but not others of similar + vintage... +Changes since 3.04: * Fixed an off-by-1 in `distort'. + * Added `sonar' hack. + * New version of `glplanet' (with stars.) + * Made all hacks exit when you type `q' or `ESC' at them, + and made them obey the WM_DELETE_WINDOW ClientMessage. + * Fixed a nonfatal buffer overrun in lament (note: + lament still doesn't work with MesaGL 3.0: it dies in + lambda_textured_triangle1(), which is Mesa's bug, not + mine.) +Changes since 3.03: * Added an `xscreensaver.spec' file, to make it easier + for other folks to generate RPMs. + * Made the password code work on HPUX in the situation + where: ``enhanced security'' is available; but not + used; but the user typed a password more than 8 + characters long anyway. FTSOHPUX. +Changes since 3.02: * Made locking work when passwd aging is enabled. + * Added support for PAM (Pluggable Authentication + Modules.) It is still turned off by default, though, + since it doesn't seem to work on Solaris 2.6, and has + been behaving erratically on Red Hat 5.1. + * Made each possible authentication method be tried in + turn until one succeeds; this means that Kerberos is + being used, we will first check Kerberos, and if that + fails, will then consult the local password file. + Likewise with PAM. + * Save and restore the bits under the passwd dialog, + to avoid leaving a black rectangle behind when + unlocking is cancelled. +Changes since 3.01: * Not everyone has sys/select.h, sigh... +Changes since 3.00: * Some fixes to `reflect'. + * Configure tweaks. + * Made it log unsuccessful attempts to unlock the screen + to syslog. + * Fixed a bug where `xscreensaver-demo' could be seeing + a different programs list than `xscreensaver' did. +Changes since 2.34: * The xscreensaver daemon no longer links against Motif + or Athena: demo-mode and the preferences panel are no + longer built in to the daemon, but are now handled by + an external program, `xscreensaver-demo'. + (I decided that this, along with the recent addition + of the `.xscreensaver' config file, justified bumping + the version number to 3.00, since this is a fairly + major architectural change.) + * Lines in the `*programs' resource may now begin with + the character "-", meaning "don't run this hack." + In this way, it's possible to disable a hack without + throwing away the information about it (making it + easier to change your mind later.) Eventually the + preferences/demo mode GUI should represent this as a + checkbox or something. + * Fixed a short race condition where it was possible for + xscreensaver to die with a BadWindow error if it was + blanking the screen just as another window was being + deleted. + * Made it possible to disable specific modes in `bsod'. +Changes since 2.33: * Fixed a bug that was making `pipes' generate way too + many valves. Made the viewpoint in `pipes' be selected + randomly instead of always being -10 degrees. + * Fixed a bug in the XSHM code, in the case where the + server supports the XSHM extension but is not the same + machine as the client. + * Made `rd-bomb' default to taking up the whole screen. + * Made it not try to do fading/unfading if no PseudoColor + visuals exist. + * Initial attempt at supporting VT-locking (doesn't work + yet.) + * Eliminated the `captureStdout' resource; now + `captureStderr' controls both streams. + * Added `-capture-stderr' and `-no-capture-stderr' + command-line arguments. + * Added `glplanet' hack. + * When a hack is selected with `xscreensaver-command + -select', that hack will be used until further notice + (until the saver turns off, or another activation + command is issued.) +Changes since 2.32: * Made `xscreensaver-command' print error messages: + the xscreensaver daemon now responds to ClientMessage + events by writing a response message on a window + property, instead of just writing to its stderr. + * Made the ~/.xscreensaver file be automatically reloaded + when the file date changes. + * The password dialog and splash screen no longer depend + on Motif or Athena. This should clear up a number of + focus problems, and is the first step on the path + toward moving all of the Motif/Athena/whatever code + out of the xscreensaver daemon, and into external + processes. + * Don't complain about LessTif 0.86 any more, since the + new password dialog makes that problem go away. + * Configure tweaks for Irix 6.5, SunOS 5.something. + * New `-reflect' option to `distort'. +Changes since 2.31: * Added reading and writing of a ~/.xscreensaver file, + so that the Preferences panel can save its settings. + * New version of `rubik'. + * Added `-select N' argument to `xscreensaver-command'. + * Oops, left out some of the `bubbles3d' files... +Changes since 2.30: * The cursor was invisible in the password dialog. Fixed. + * Made configure warn against MesaGL 2.6. + * Fixed X error at startup when using non-default visual. + * New version of `crystal', `ant', and `atlantis' from + xlockmore. + * New hack, `bubble3d'. + * Added some new modes to `bsod'. +Changes since 2.29: * Changed the order in which -lSM and -lICE are linked + to be after Motif instead of before (Lesstif on Irix + needs this.) +Changes since 2.28: * Work around a bash bug in configure. + * Tweaked HPUX paths again. FTSOHPUX. + * Made configure recommend against LessTif 0.86, due + to a bug in that version that causes a security hole + in the screen locking code. LessTif 0.87 will fix it. + * Made all of the `--with' options to `configure' accept + a directory option as well (so that --with-motif=/FOO + will add -I/FOO/include -L/FOO/lib). I believe this is + the Configure Party Line of how do to such things. + * Fixed a bug where the mouse was left un-grabbed + after the first time the graphics hack was changed + (simplified all of the mouse-grabbing logic.) + * Maybe possibly perhaps made `vidwhacker' really not + leave stray xv windows around. This time for sure. + * Added a new erase mode (random dots fizzling out.) + * Added `-prefs' argument to `xscreensaver-command', + that brings up the Preferences dialog directly (it + seems that nobody ever noticed the `Preferences' button + on the Demo Mode dialog, maybe this will help.) + * Added a splash screen. Turn it off with *splash:false. +Changes since 2.27: * Better macsbug text in `bsod'. + * New version of `distort' with many new modes. + * Plugged a leak in `coral'. + * Tweaked configure for HPUX. + * Removed some compiler warnings. + * More consistent usage of stderr versus stdout. + * More diagnostics should an X error occur. + * Fixed a possible crash in SGI-specific unfading code. +Changes since 2.26: * Improved version of `distort'. + * Made `lament' compile against OpenGL 1.0 (though it + still requires 1.1 to work properly.) + * Updated my email address and home page. +Changes since 2.24: * Improved motion in `rd-bomb'. + * Added XSHM (shared memory extension) support to the + `distort', `interference', `moire', `rd-bomb', and + `swirl' hacks, which speeds them up a bit. + * Added `lament' hack. +Changes since 2.23: * Tweaked the order of the -L options again. + * Cleaned up configure's `--help' message. + * Added `kumppa' hack. + * Smarter maze-solving algorithm in `maze'. + * Took `xlyap' out of the default list of hacks, since + it's just incredibly buggy (and slow.) Maybe someday + someone will fix it... + * Added `distort' hack, but didn't add it to the default + list (yet) because it's still too slow. + * Made the Athena demo dialog look more like the Motif + version; it has a text-entry field now, too. + * Made the Athena password dialog echo asterisks, like + Motif does, instead of using a flyspeck font. + * Some random configure tweaks. + * Added a `timestamp' resource that makes the `-verbose' + messages include the time at which they were printed. +Changes since 2.22: * The fix for SGI's ``scheme'' nonsense broke things, and + let the user's "*background" resource show through. + Fixed it in a different way. +Changes since 2.21: * Added support for the DPMS server extension (Display + Power Management System.) + * Made configure advertize the `--enable-subdir' option a + little more, since that seemed to cause some people + stress. Also, made that directory be built into the + xscreensaver executable, as a hardcoded prefix to + $PATH. (Might help, shouldn't hurt.) + * Made configure prefer the two-arg gettimeofday to the + one-arg version, since AIX doesn't have any prototypes. + * Made it work with Xaw3d (the 3D Athena library.) + * Made `make install' create directories as necessary. + * New version of lmorph from Sverre. + * Added `crystal' and `discreet' hacks from xlockmore. + * Added a new mode to `bsod'. +Changes since 2.20: * Made `xscreensaver-command -time' use different words. (It now describes the two states as "screen blanked since..." and "screen non-blanked since..." instead of "active since..." and "inactive since..." which a lot @@ -196,14 +290,14 @@ Changes since 2.20: * Made "xscreensaver-command -time" use different words. xscreensaver-command programs more obvious. * Rewrote (and reorganized) parts of the xscreensaver and xscreensaver-command manual pages. - * Renamed xscreensaver's "-lock" command-line option to - be "-lock-mode", to avoid confusion with the "-lock" + * Renamed xscreensaver's `-lock' command-line option to + be `-lock-mode', to avoid confusion with the `-lock' option to xscreensaver-command, which does a totally different thing. - * Removed xscreensaver's "-demo" command-line option for - a similar reason; use "xscreensaver-command -demo" + * Removed xscreensaver's `-demo' command-line option for + a similar reason; use `xscreensaver-command -demo' instead. - * Disabled SGI's "scheme" nonsense in a better way than + * Disabled SGI's ``scheme'' nonsense in a better way than fully-qualifying the background colors in every single hack. * Fixed some other minor cosmetic problems when *sgiMode @@ -281,7 +375,7 @@ Changes since 2.12: * Made `decayscreen' do directions other than down. Changes since 2.11: * Added `README.debugging'. * Added `puzzle' hack. * Added `xlyap' hack. - * Added "default-n" as a visual name, so that one can + * 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 @@ -311,7 +405,7 @@ Changes since 2.07: * New hacks `rd-bomb' and `coral'. * 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. + * 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.