http://ftp.x.org/contrib/applications/xscreensaver-3.23.tar.gz
[xscreensaver] / README
diff --git a/README b/README
index 70ddfda5d2dba294f6b59b8b321e5f3ceb778212..ebe58b995d25ce1133a494de73e8224737db4a6e 100644 (file)
--- a/README
+++ b/README
@@ -24,6 +24,10 @@ The most important hint is probably this:
 
 To build on VMS, see README.VMS.
 
+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
@@ -54,7 +58,7 @@ locking mode, when the proper password is typed.)
 
 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 --
+screen can be used as a screensaver.  You just change a config file --
 there's no need to recompile or reinstall anything.
 
                               ============
@@ -63,7 +67,7 @@ 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.
 
-More than 80 such programs are included.  For details, see the xscreensaver
+More than 100 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.)
@@ -73,6 +77,311 @@ http://www.jwz.org/xscreensaver/.
 
                               ============
 
+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 simultaniously.
+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.
@@ -121,7 +430,7 @@ Changes since 2.24:   * Improved motion in `rd-bomb'.
                        `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
@@ -136,12 +445,12 @@ Changes since 2.23:   * Tweaked the order of the -L options again.
                      * 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
@@ -149,11 +458,11 @@ Changes since 2.21:   * Added support for the DPMS server extension (Display
                      * 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
@@ -164,14 +473,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
@@ -249,7 +558,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
@@ -279,7 +588,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.