a screen saver and locker for the X window system
by Jamie Zawinski
+ http://www.jwz.org/xscreensaver/
+
To build on Unix:
- ./configure
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 from version 2.* to version 3.*, be sure to delete
+your ~/.xscreensaver file first, if you have one.
+
+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:
You can try out xscreensaver like so:
xscreensaver &
- xscreensaver-command -demo
-
-After a few seconds, the screen should go black, and a dialog box should
-appear in the upper right corner. This is "Demo Mode".
+ xscreensaver-demo
Note: unlike `xlock', xscreensaver has a client-server model: the
`xscreensaver' process is a daemon that runs in the background; it is
-controlled by the foreground `xscreensaver-command' program.
+controlled by the foreground `xscreensaver-demo' program.
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 config file --
+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.
- crystal - A kaleidoscope of moving polygons.
- discrete - Various fractal-ish "discrete map" forms.
- distort - A moving lens wanders around the screen, magnifying it.
- kumppa - Spinning 3D color fields, kinda.
- 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 120 such programs are included. For details, see the xscreensaver
+web page, or the enclosed manual pages.
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 <jwz@netscape.com>
+ ============
-\f
+Changes since 3.31: * The image-manipulating hacks (`slidescreen', etc.) can
+ now operate on randomly chosen image files from disk,
+ or on frames captured from the system's video input,
+ instead of (or in addition to) manipulating images of
+ the desktop.
+ * Rewrote `vidwhacker' to use the new image-grabbing
+ mechanism.
+ * Made fading work on TrueColor XFree86 4.x systems.
+ * Fixed a subtle rendering bug in `atlantis' (the fish
+ were inside out!)
+ * Made `atlantis' have a texture simulating light
+ reflections from the surface of the ocean.
+ * Fixed up label placement in `molecule'.
+ * Better color bars in `xteevee'.
+ * Made `install-strip' not try to strip scripts.
+Changes since 3.30: * Put in more sensible defaults for DPMS, and updated
+ the documentation to reflect the fact that all your
+ DPMS settings are now belong to xscreensaver.
+ * Fixed the `xscreensaver.spec' file so that `--force'
+ is no longer needed.
+ * New versions of `rotzoomer' and `nerverot'.
+ * Fixed an OSF/1 compilation problem in `molecule'.
+Changes since 3.29: * New hacks, `molecule' `dangerball', and `rotzoomer'.
+ * New version of `gflux'.
+ * Made `gltext' able to display the current time.
+ * Fixed a floating-point-precision problem in `gltext'
+ that sometimes caused horizontal lines to vanish.
+ * Removed the `-window-id' option from the hacks:
+ it never worked right, and was unnecessary.
+ * Made the `starwars' hack use thicker lines, antialias
+ the text, and fade out at the far edge instead of just
+ dropping off.
+ * Fixed an SHM segment leak in `moire'.
+Changes since 3.28: * Better rendering of the new logo.
+ * New hack, `gltext'.
+ * Added `-planetary' option to `gears', to draw a
+ different kind of gear system.
+ * Made motion and rotation be smoother in `gears',
+ `glplanet', `moebius', `rubik', and `sierpinski3d'.
+ * Improved coloration in `sierpinski3d'.
+ * Made the GL hacks react to window size changes.
+ * Made most of the GL hacks take a -fps option (like
+ `pulsar' did), so you can use them to benchmark your
+ 3D hardware.
+ * Fixed the previous fix to `sonar'.
+ * Minor fix to `nerverot'.
+ Made sonar able to ping hosts on DEC OSF1.
+ * Eliminated a bogus "didn't get enough colors" warning
+ in some of the hacks.
+Changes since 3.27: * New logo for xscreensaver!
+ * New hacks, `starwars' and `stonerview'.
+ * Made the motion of the bouncing ball in `stairs' be a
+ little less jerky.
+ * Made newly-added screenhacks be added to .xscreensaver
+ automatically: if there are hacks in the app-defaults
+ file that are not also in ~/.xscreensaver, they will
+ be added to the end of the list.
+ * Redid the `Screensaver Options' part of the control
+ panel; xscreensaver now lets you configure your DPMS
+ settings.
+ * Fixed some Makefile problems with non-GL builds.
+ * Fixed detection of MesaGL for version 3.3.
+ * Better workaround to Red Hat 7.0's broken gcc.
+ * Added Sparc Solaris kernel panic to `bsod'.
+Changes since 3.26: * New hacks: `zoom' and `whirlwindwarp'.
+ * Fixed a free-memory-reference bug in `sonar'.
+ * Better error handling when there are no suitable GL
+ visuals.
+ * Added diagnostic dialog when xscreensaver-demo is
+ unable to launch xscreensaver (e.g., when running as
+ root.)
+ * Fixed a bug that caused screenhack argument changes
+ to be ignored when xscreensaver-demo was running as
+ root (if "root" and "nobody" have different home
+ directories.)
+ * Made the programs default to ":0" if $DISPLAY is unset.
+ * Made the `-verbose' output include information about
+ which server extensions were supported at compile time.
+ * Worked around Red Hat 7.0's broken gcc 2.96.
+ * Updated default delays on the GL hacks to look better
+ on machines with super-fast 3D hardware.
+ * Install `screensaver-properties-capplet' to work around
+ the usual egregious GNOME lossage.
+Changes since 3.25: * Added "enabled" checkboxes in the list of hacks in
+ xscreensaver-demo (Gtk version only.)
+ * New hacks `hyperball', `xrayswarm', and `gflux'.
+ * New versions of `nerverot', `galaxy', and `hypercube'.
+ * Small fixes to `phosphor', `shadebobs', `xflame',
+ and `sonar'.
+ * Added external helper program `xscreensaver-gl-helper'
+ to figure out which X visual to use for OpenGL
+ programs.
+ * Configure updates for XFree86 4.0, and for BSD.
+ * Made it be more tolerant of bogus /etc/group files.
+ * When installing the PAM config file, first try to just
+ copy an existing "xdm" or "login" config file, so that
+ xscreensaver does authentication in the same way as the
+ rest of the system.
+Changes since 3.24: * New hack, `nerverot'.
+ * Added BSD kernel panic to `bsod'.
+ * New version of `shadebobs'.
+ * New version of `petri'.
+ * Updated `webcollage' to handle recent Altavista URL
+ format changes; made it search the AP photo gallery.
+ * Revamped command-line options of `sonar' and made it
+ properly handle subnets.
+ * The `bubbles' hack can now trickle up or down the
+ screen.
+ * The `xsublim' hack can now read its text from programs.
+ * Support for GLE version 3 in `extrusion'.
+ * Fixed compilation problems in `maze'.
+ * Fixed a rare crash in `flow'.
+ * Fixes for minor installation problems.
+Changes since 3.23: * Added `-ignorant' option to `maze' hack.
+ * Updates to `critical', `bsod', `xflame', and `flow'.
+ * Added support for Kerberos 5 (via its Kerberos 4
+ compatibility layer.)
+ * Fixed a bad leak in `xteevee'.
+ * Updated `webcollage' to handle recent Altavista URL
+ format changes.
+ * Removed xscreensaver-demo's `Ok' and `Cancel' buttons,
+ since they were confusing people: all changes are now
+ instantanious.
+ * Made xscreensaver-demo install itself into the Gnome
+ Control Center.
+Changes since 3.22: * Fixed some misplaced text fields in the Motif version
+ of xscreensaver-demo; fixed a crash in the Gtk version
+ that would happen if the programs list was empty.
+ * Fixed a recently-introduced bug in `pulsar'.
+ * Made `sierpinski3d' use solid tetrahedrons instead of
+ points.
+ * Added `-trace' option to `xmatrix'.
+ * Added new hacks `xteevee' and `xspirograph'.
+Changes since 3.21: * Fixed some bugs in xscreensaver-demo.
+ * Rewrote the Motif version of xscreensaver-demo to
+ match the new Gtk version.
+ * The Athena toolkit is no longer supported.
+Changes since 3.20: * Tweaked the xscreensaver-demo UI (Gtk only.)
+ * Fixed a few visual selection bugs. I think the proper
+ GL visual should be used with nVidia systems now.
+ * Made the Makefiles obey $install_prefix.
+ * Made the `xscreensaver.spec' file able to generate both
+ GL and non-GL packages simultaneously.
+Changes since 3.19: * Added new hacks `ripples' and `sierpinski3d'.
+ * Made `xscreensaver-command -exit' be silent when no
+ screen saver was running (instead of complaining.)
+ * Made `webcollage' and `vidwhacker' use `xloadimage'
+ when available (in addition to `xli' and `xv'.)
+ * Improved memory usage in `petri' and gave it a hard
+ cap on how much memory it can allocate.
+ * Added `-watch' option to `xscreensaver-command'.
+ * Made `xscreensaver-demo' come up with the
+ most-recently-run hack selected by default.
+ * Rewrote the Gtk version of `xscreensaver-demo'.
+ It's a lot easier to use now.
+ * Extended the format of the programs list in the
+ .xscreensaver file, for the benefit of the new
+ capabilities of `xscreensaver-demo'.
+ NOTE: you might want to delete your ~/.xscreensaver
+ file and allow it to be re-created! The old one
+ should still work, but xscreensaver-demo won't be as
+ pretty.
+Changes since 3.18: * Fixed gcc dependencies in `bumps' and `ccurve'.
+ * New hack, `extrusion'.
+ * Some of the web sites that `webcollage' was using as
+ its sources changed formats; tweaked it to understand
+ the current layouts.
+ * Added typeahead in the password dialog: if the screen
+ is locked, and you unlock it by typing a character,
+ that key will be automatically inserted in the
+ password dialog (unless it is Return, Enter, Space,
+ or a non-printing key like Shift.)
+ * Made `xmatrix' take a `-small' option, since some
+ folks with tiny screens prefer a smaller font.
+Changes since 3.17: * New versions of `shadebobs', `lmorph', and `distort'.
+ * Added `ccurve', `blaster', and `bumps' hacks.
+ * Replaced `forest' hack with a rewritten version.
+ * Worked around a Xinerama server bug.
+ * Fixed a bug I introduced in 3.10 that caused some
+ hacks to print out superfluous warnings about not
+ having gotten enough colors.
+ * Made `sproingies' obey the `-delay' option.
+ * Fixed a portability bug in `shadebobs'.
+ * Made `webcollage' and `vidwhacker' use `xli' in
+ preference to `xv', if it is available.
+ * Added a new source of images to `webcollage'.
+ * If running under KDE, xscreensaver will add itself to
+ KDE's list of screensavers (via xscreensaver.kss.)
+ * Improved detection of GL libraries.
+ * Made the password dialog include the date and time.
+Changes since 3.16: * New version of `webcollage' -- deals better with
+ corrupted images, and can use an http proxy.
+ * New hack, `xsublim' (run it in the background,
+ rather than adding it to the programs list.)
+ * The xscreensaver daemon was leaking a file descriptor
+ each time you edited your .xscreensaver file. Fixed.
+Changes since 3.15: * New version of `shadebobs'.
+ * Improved image selection in `webcollage', and sped it
+ up slightly.
+ * Made configure find the right version of perl.
+ * Rewrote the CGI part of `webcollage'.
+ * `make clean' was deleting some things it shouldn't.
+ * Fixed a typo in the default programs list.
+Changes since 3.14: * Added `webcollage' and `shadebobs' hacks.
+ * Added a `-stdout' arg to `vidwhacker' so that it can
+ be used in a pipeline.
+ * Made `petri' use less memory.
+Changes since 3.13: * Various improvements to the Gtk port.
+ * Turned off PAM by default on Solaris, since PAM seems
+ generally to be misconfigured out-of-the-box.
+ * Made the `--without-gtk' configure option work.
+ * Made configure check the Gtk version number, since it
+ requires 1.2.
+ * Fixed a bug in the code that attempted to prevent
+ changes of screen resolution while the screen is
+ locked.
+ * Fixed a race condition in `xscreensaver-demo' that
+ could cause an X error at startup.
+ * Added `-transparent' option to `deluxe'.
+ * Added `petri' hack.
+Changes since 3.12: * Ported `xscreensaver-demo' to Gtk.
+ * Made it possible to build Motif, Gtk, and Athena
+ versions of `xscreensaver-demo' in the same directory
+ without reconfiguring.
+ * Made `xscreensaver-demo' chase symlinks before writing
+ the .xscreensaver file, so that if .xscreensaver is
+ itself a symlink, the underlying file will be replaced
+ instead.
+ * Some Makefile and configure tweaks for Solaris and
+ FreeBSD.
+ * Made it possible to set the fire color in `xflame'.
+ * Made transparency work in TrueColor (for `goop' and
+ `qix'.)
+ * Fixed a multi-head bug introduced by the virtual
+ viewports stuff.
+Changes since 3.11: * Made it so that you can't scroll the screen while the
+ lock dialog is up (with XFree86 virtual viewports.)
+ * Fixed a bug in `flag' that caused bob's chin to get cut
+ off after a few iterations.
+Changes since 3.10: * Made `xjack' be black-on-white-ish, so that it looks
+ less like a computer screen and more like the
+ typewritten paper it's supposed to be.
+ * New version of `pulsar'.
+ * Fixed Solaris compilation problem in `phosphor'.
+ * Made xscreensaver notice XFree86's virtual root window
+ hack, so that if the X server's root window is larger
+ than the monitor's displayable resolution, the screen
+ saver will limit itself to the area that actually
+ appears on the screen.
+ * Made the xscreensaver daemon do a better job of
+ picking the visual class that should be used for GL
+ programs. Less user intervention should be needed
+ now: you can use the logical visual name `GL' instead
+ of having to figure out by hand which one to use.
+ * Oops, the visual was defaulting to "best" instead of
+ "default", because the .xscreensaver file was not being
+ loaded quite early enough.
+ * Made configure figure out how to build icmp ping
+ support into the `sonar' hack automatically.
+ * Made warnings about not being able to read shadow
+ passwords not be printed if compiled with PAM support.
+ * Improved PAM startup diagnostics.
+ * Worked around the Solaris PAM bug that was causing
+ crashes there, so now PAM is turned on by default.
+ * Made configure detect the number of arguments that
+ pam_strerror() takes, since on Linux, this apparently
+ changed between 2.0 and 2.2, sigh.
+ * Made the /proc/interrupts kludge look for "PS/2 Mouse"
+ as well as "keyboard".
+ * Made xscreensaver notice when there has been a sudden
+ large jump in wall-clock time, and if so, lock right
+ away, instead of waiting for "lockTimeout" to expire
+ first. (Laptops need this for safer recovery from
+ ``hibernation.'')
+ * Added `-throttle' option to `xscreensaver-command'.
+Changes since 3.09: * Added `phosphor', `xmatrix', and `pulsar' hacks.
+ * Fixed a bug in the color allocator that sometimes
+ caused `starfish' to fall back to monochrome.
+ * Reduced the amount of code that runs before root
+ privileges are disavowed: "normal" and "shadow"
+ passwords now do some initialization as root, but the
+ PAM and Kerberos authorization schemes will be
+ initialized while running as "nobody". Supposedly
+ this closes a potential security hole when using
+ Kerberos.
+ * Added some more sanity checking to configure.
+Changes since 3.08: * Added `compass', `squiral', `xflame', `wander',
+ `spotlight', and `critical' hacks.
+ * Added some new modes to `decayscreen'.
+ * Made `deluxe' work in monochrome.
+ * Generalized usage of the Double-Buffer server extension
+ in several hacks (`compass', `deluxe', `interference',
+ `kumppa', and `moire2'.)
+ * Fixed another visual-depth problem in `rd-bomb'.
+ * The screen saver will now defer blanking if neither
+ the keyboard nor the mouse could be grabbed. Instead,
+ it will just try again in a few minutes. This fixes
+ a bad interaction between xscreensaver and programs
+ like VMware that hold the mouse and keyboard grabbed
+ for a long time.
+ * Added a new erase mode (expanding spiral.)
+Changes since 3.07: * Fixed some bugs in my port of `t3d'.
+ * Added `penetrate' and `deluxe' hacks.
+ * When linking against Motif 2.x, also link against XPM.
+ * Added support for using /proc/interrupts for idle
+ detection on Linux. Now xscreensaver shouldn't kick
+ in when the user is active on a non-X virtual console.
+ * Upgraded to autoconf 2.13.
+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.
+ * 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
* 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
+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
+ * 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
* 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.
+ * 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.
+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
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
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
* 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.