xlockmore-5.84 as of 6 July 2025, the maintained version of xlock

Primary site: https://www.sillycycle.com/xlock
Alternate site: http://ibiblio.org/pub/Linux/X11/screensavers
Web page: https://www.sillycycle.com/xlockmore.html
Maintainer: David A. Bagley <bagleyd AT verizon.net>
Primary key fingerprint: 1B79 C847 8F23 6DCD ADC0  D6AC CF15 9707 3779 19AE

Send all bug reports to bagleyd AT verizon.net .  Also just
send me mail if you want to be on a list for latest releases.

Adapted from Patrick J. Naughton's original xlock, with lots of help
from others.

5.84
  New automata mode paterson added from same article as spirolateral.
    Initial investigation by Paterson, Conway, and Beeler.

5.83
  spirolateral mode added thanks to Martin Gardner's book "Knotted
    Donuts" chapter on "Worm Paths".  This generates simple and
    complex spirolaterals.
  Fixing -delay issue on VMS for x86-64.
  Removed a warning in snprintf for Windows.

5.82
  cage, moebius, morph3d updated by original author.  Found a few long
    standing bugs and updated for larger resolution screens.  Thanks
    to marcelofvianna AT gmail.com.
  
5.81
  Fixed life3d mode when running by itself as it would not pick up
    allGliders rules on refresh.
  Fixed building for CDE for Linux.  In general, for Linux, the build
    now uses -R for linking like BSD.

5.80
  pyraminx and oct mode extended now to any size > 1, also some hard
    coding of size removed and fixed some drawing errors.

5.79
  pyraminx and oct mode extended to size 6 also some hard coding of
    size removed and fixed some drawing errors.

5.78
  mball mode added simulating a Masterball puzzle.  The original has
    8 wedges and 4 bands, this version has 2 to 12 (even) wedges
    and usually 2 to 6 bands.
  Fixed oct, pyraminx, bevel, dino, and skewb to show less silly
    moves, i.e. a move of a certain piece to the left and then to
    the right.
  Added bean bags (rounded octahedrons) for juggler3d (like my own
    juggling balls).
  A fix for random mode and in debug to show proper modes in list.

5.77
  Added period 2 edge turning to pyraminx.
  pyraminx and oct mode extended to size 5 also some hardcoding of size
    removed.

5.76
  oct mode added.  Sizes 2-4.  Period 3 (face turning) and Period 4
    (corner turning) implemented also a "sticky" mode is implemented
    for both where the middle pieces turn together.
  pyraminx code was reorganized and now scale the size of puzzle.
 
5.75
  pyraminx mode added.  Sizes 2-4.  With a "sticky" mode where its
    a size 4 but only certain turns are permitted.  So far only the
    normal Period 3 turning is permitted (i.e. faces or corners turn
    but not edges).  Taken from xpyraminx and dino and rubik modes.

5.74
  dino mode center fix (probably never see error).
  bevel mode added.  Better known as the Helicopter Cube.  Currently,
    it only supports the 180 degree turns.  The ~71 degree turns would
    be very challenging to simulate.  Taken from an xbevel puzzle and
    the skewb mode.

5.73
  dino mode added, mostly built from xdino and skewb mode.
  fiberlamp mode fixed for multiscreen.
  boxed mode report that it may be trapped in an infinite loop, I could
    not reproduce but added a hack so this will not happen.

5.72
  Update for OpenVMS for x86_64, small change to xshm.h and new make.com
    to work with clang and xmlock/xawlock thanks to Jouk Jansen.  I hear
    its now possible to get a virtual OpenVMS on your Linux machine. :)
  Update for xscreensaver-6.06 port to use grabclient instead of
    grabscreen.
  configure now configures xmlock for Athena if you do not want Motif.
    Should work with most popular versions of Athena.  You may want
    to change the name from xmlock to xawlock if you are using Athena.
    xawlock directory removed and was not meant to be distributed.

5.71
  Patch for Theobromine, Niacin, and Cobalamin from Richard Narron,
    richard AT aaazen.com.
  Added cuboctahedron from mxico to ico mode.
  xmlock updates for Athena for toggles.  Fix also for Xaw3d.  I think
    it has most of the working parts to the Motif version now.

5.70
  Patch for Cannabidiol and Fentanyl from Richard Narron, richard AT
    aaazen.com.
  I was able to get DtScreen to work on Linux with CDE with slight
    modification to Makefile (documented in README) with help from Per
    Backman, 229pele AT tufftuff.net.
  xmlock updates for Athena.  In generated Makefile will have to change
    HAVE_MOTIF to HAVE_ATHENA and change -lXm to -lXaw or -lXaw3d.  Just
    bare bones right now.
  t3d.c: following recommended change for configure "warning: Update your
    code to rely only on HAVE_SYS_TIME_H".  Also other assorted changes
    in configure.ac when I ran autoupdate (did not accept everything as
    it seemed to go wrong).
  Minor touches for xscreensaver-6.04 port.

5.69
  Patch for xkb groups thanks to Audrey Af, public.irkutsk AT gmail.com.
  Minor touches for xscreensaver-6.03 port, life and life3d.

5.68
  Updated xscreensaver port for xscreensaver-6.02.
  Various NetBsd install issues fixed including config.cygport.
  pam vulnerability patch added thanks to Elmar Hoffmann, elho AT elho.net.
    Card vulnerability may remain, see README.
  module fixes for deluxe, eyes, starfish, swirl, text3d2, module use is
    still experimental.
  biof mode removed again (though was not building by default).
  
5.67
  Fixing specified bound equals destination size warning in iostuff.c.
  Port updated for xscreensaver-6.01.  With help from EoflaOE ViceCity.
    Also removed some warnings.
  maze3d.c updated for VMS as CRTL now contains more standard functions,
    thanks to Jouk Jansen.

5.66
  GL mode atunnels, juggler3d, atlantis, lament, invert, solitaire, text3d,
    and text3d2 fixed up by EoflaOE ViceCity and myself to build in
    xscreensaver.
  bomb, helix, lightning, penrose, petal, scooter fixes for xscreensaver
    port (clear screen issue).  Clock fixed to run by changing a spot from
    "Clock" to "CLOCK".
  A few updates from xscreensaver-5.44/hacks/xlockmore.c for xscreensaver
    port.
  Duplicate resources and unloadable resources for xscreensaver port fixed
    by EoflaOE.
  Double free removed for xscreensaver port fixed by EoflaOE and myself.
  Removed some warnings in xscreensaver port in fzort, rubik, skewb, and
    sproingies.
  Xpm textures added to xscreensaver ports that need them.
  image, puzzle, decay, bat now work but use xscreensaver bitmap/pixmap
    in xscreensaver port.
  Bug fix in qix and toneclock for xscreensaver port, xlock was not
    affected by negative NRAND input.

  euler2d synced up with xscreensaver version.
  Change to fzort to use __asm__ instead of asm as its probably more
    likely to work.
  Fixed solitaire so deckPile changes just a little bit as it doles
    out cards.
  Updated bomb to use size 18 font when USE_MB is not set as it seems
    34 is not widely available anymore.
  pacman now has different colored ghosts (no green ghost) and also
    oscillating dress and eyes.  See README for a notice for this mode.
  Fixed some bad drawings in solitaire and pacman noticed on
    Windows side.
  Warnings removed for -Wstrict-prototypes -Wmissing-prototypes
    -Wdeclaration-after-statement

5.65
  Fix from Jan Kratochvil and Adrian Reber, adrian AT lisas.de for Fedora.
    xlock -startCmd true... would core on Fedora, exit() replaced with
    _exit().
  Update for magick.c to use strncpy thanks to Jouk Jansen.

5.64
  Fix for hyper mode from original author, for potential but not
    likely memory leak and free(NULL) issue John Heidemann, johnh
    AT isi.edu.
  More buffer gcc warnings removed for dclock.c, image.c, and
    scrnsave.c.
  ras.c/magick.c gcc 10 fix from Adrian Reber, adrian AT lisas.de .
    VMS already handles this in make.com.

5.63
  Lots of spelling errors fixed due to codespell
    https://manpages.debian.org/testing/codespell/codespell.1.en.html
  A few more gl modes (molecule, invert) fixed up by
    EoflaOE ViceCity to run in xscreensaver.
  Added additional changes to solitaire and invert.  invert will
    build in xscreensaver with some coaxing, see README in
    xscreensaver directory.
  Removed buffer gcc warning about nose.c.

5.62
  Fix from brett.diamond AT gmail.com to get "xlock -help" from
    crashing.
  As a Blake's 7 fan, I had to add the Liberator to star mode.

5.61
  Same fix from Jouk Jansen and Adrian Reber, adrian AT lisas.de
    for juggler3d.cc in previous release.
  Change from Denys Vlasenko (thanks to Adrian Reber for pointing out)
    https://bugzilla.redhat.com/show_bug.cgi?id=874484
    This helps xlock's parent process to know xlock crashed.
  ico mode added truncated octahedron.
  Another gl mode, sierpinski3d, fixed up by EoflaOE ViceCity to run
    in xscreensaver.

5.60
  Updated references to website to https.  https://www.sillycycle.com
  A few more gl modes (incl. maze3d, pipe, sproingies) fixed up by
    EoflaOE ViceCity to run in xscreensaver.

5.59
  Thanks to tobik, ohartmann AT walstatt.org, and Jason Helfman,
    jgh AT FreeBSD.org for xglock fixes for "failed due to signal" for
    clang.
  Syncing with xscreensaver and many modes modified, more than
    half working there.  pacman and puzzle run but need some
    obvious work, others run too fast or flash on the screen.
    Various fixes from Jouk Jansen and EoflaOE ViceCity.
    Updated GL modes also, inaddition to overlap: biof, skewb, and
    fire (needs images). See xscreensaver/README for new directions.
  Updated in linux to build with modules, must have broken somewhere
    down the line.  imake build fixed too.
  bomb mode fixed for xlock.

5.58
  Syncing with xscreensaver.  Much has changed since last time this
    was done and much left to do.  Nonglx "a"'s and some "b"'s done
    so far.  Automata modes like ant.c should use automata.c and
    automata.h supplied by xlockmore.
    ball bat not working right there yet.  Also bouboule to do right will
    require changes to xlockmore files from xscreensaver.
    See new xscreensaver/README for instructions.
  While testing uncovered old security bug in anenome mode and fixed.

5.57
  life updates to use a more standard notation for nontotalistic cellular
    automata.
  ax_pthread.m4 needed for autoconf, added back in, oops.
  Removed VMS caddr_t fix from matrix.c, cage.c, gears.c, glplanet.c,
    invert.c, juggler3d.c, lament.c, moebius.c, molecule.c, morph3d.c,
    noof.c, pipes.c, rubik.c, sierpinski3d.c, skewb.c, stairs.c,
    superquadrics.c as no longer needed.  Thanks to Jouk Jansen.
  boxed and maze3d modes added thanks mainly to Jouk Jansen.
  boxed added to xlock95.scr.  xlock95 Makefile now builds to 64 bit.

5.56
  Thanks to Jason Helfman, jgh AT FreeBSD.org for sound installation fixes.
  Thanks to Tobias Kortkamp, for his patch for glock compile issue with
    CLANG 6.0.0.
  Fixing warnings using clang for back.xpm, nose.c, passwd.c.
  Fixing errors using g++ for deluxe.c, also various casting added.
  Fixing potential some buffer overruns pointed out in mingw in
    apollonian.c and hyper.c.
  Fixing potential error of using null pointer thanks again to mingw in
    xlock.c.
  pyro2 was not showing anything on screen due to it not finding font,
    changed it to default to mode_font if can not find.

5.55
  Thanks to Dave Odell, dmo2118 AT gmail.com for his fzort mode update to
    use the functions in xshm.c and fixes crash when running X11 over network.
  Note from Dave Odell:
    <https://www.jwz.org/xscreensaver/xscreensaver-5.37.tar.gz>. MI_INIT() is
    defined and documented in hacks/xlockmore.h, with related functions
    defined in hacks/xlockmore.c.  MI_INIT() currently takes three parameters:
    the ModeInfo *, the state array, and a function pointer for the new free
    hook. FWIW, it could instead be just the first two parameters, with the
    free hook being set up like the other ModeHooks; this would be a bit
    nicer, I think. But I was going for something that could be applied
    incrementally to individual screenhacks in XScreenSaver, and could -- in
    theory -- be brought back to xlockmore with minimal impact.
  ant mode resync'd with xscreensaver...  Thanks to David Odell redoing my
    sad attempt.
  -sound configuration changed around so it should work on more machines,
    now uses DEF_PLAY and play.sh by default.
  Thanks to Stanislav Brabec, sbrabec AT suse.cz for his "hack" to fix for
    PAM with non-English locales.  He notes to fix properly a "Password"
    prompt list should be obtained at the initial phase of authentication.
    Added PAM_PASSWORD_PROMPT for using old way.
  Fixed leak in scooter thanks to Valgrind.
 
5.54
  Thanks to Dave Odell, dmo2118 AT gmail.com for his strange mode
    updates to include aligned_malloc.[ch], thread_util.[ch], xshm.[ch],
    and visual_pixmap_depth() from XScreenSaver.  Also updates for building
    macOS and Debian for crypt.  Made safe for VMS by Jouk Jansen.
  juggle fixed for multiscreens.

5.53
  Goofed on last VMS xmlock update.
  dclock fix for led bounce.  :)  Added to windows port but only graphical
    part.
  Windows port fixed petri black screen.  Added anemone and deluxe but turned
    off double buffering to get default black screen.

5.52
  Install changes for fortune. VMS xmlock build update.
  Thanks to Dave Odell, dmo2118 AT gmail.com for his strange mode
    updates.  New options -points N and -curve N .  Also now working
    for windows port (which led to bubble and ifs porting easily).

5.51
  life3d updates including a distinct 18 neighborhood using rhombic
    dodecahedrons (neighoborhood -18 as there is already 18
    neighborhood), and a 22 neighborhood using tetrahedrons, i.e. the
    tetrahedral part of alternated cubic honeycomb
  Less compile warnings and configure update.

5.50
  -messagefont was broken if USE_MB set (default from 5.42). E.g.:
    -mode dclock -messagefont "-*-times-*-*-*-*-18-*-*-*-*-*-*-*"
  Changed default message font to above.
  Should now compile with less warnings.
  spiral erase mode changed from 100 iterations to 8.

5.49
  Fix for kumppa -speed 0.2

5.48
  Old website http://www.tux.org/~bagleyd died, shifted code base to
    new website http://www.sillycycle.com
  ant mode: lots of fixes including better drawing of arcs for
    truchet and eyes.  Added truchet and eyes for pentagonal ants.
  Cygwin install fix as /etc/passwd is no longer used.

5.47
  DESTDIR fixes.

5.46
  xmb fonts messing up password screen since ascent was not being set
    correctly.  Also fixed xjack mode.
  Updated language use in xlock.c, now removed to .h files.  If I made some
    bad assumption about the language... let me know.
  BSD install fixes (DESTDIR, FreeType2, fortune) and switching to xz.
  Cygwin install fixes (cygport, xlockrc).

5.45
  A bad value of fnt for pyro2 could cause to give an X error.  Fixed to
    not free memory we are using and have a better default.

5.44
  Fix for make_one_sided_pentomino was using 18 as basis for 2 sided
    pentominoes in loop.  Found out about it by gcc 4.8.1 warning: iteration
    12u invokes undefined behavior [-Waggressive-loop-optimizations].
  dilemma, voters, wator size fix for neighbors = 6.
  Proper crediting of Nathan Thompson for discovering High Life part of
    life mode.
  A few new gliders and patterns for life and life3d.
  Updated win32 to use updated cygwin.  Currently links are only satisfied
    using cygwin using 32-bit installation.  For me, cross compiling using
    64-bit gave undefined references in visgl.c and xlock.c.
  magick.c update for version 7, thanks to Jouk Jansen.

5.43
  life3d: added new rule B58S58, which has a replicator.
  -e added to shell in Makefile.in, told it should now stop on build errors,
    rather than trying to continue which could be confusing.  Thanks to
    Glyn Kennington <glyn AT potatojunkie.co.uk>.
  If crypt fails (which is possible with glibc2.17) it could cause xlock to
    get a signal 11.  There is now protection around the strcmp() to prevent
    NULL poiter dereferences thanks to Mancha <mancha1 AT hush.com>.

5.42
  USE_MB now defined by default. If this is not defined it can only
    correctly display ASCII.  There could be font issues which may
    lead one to want only ASCII (if so use configure --disable_mb).
    Also looked into Xutf8 but did not see any benefit this had over Xmb.
    Password window and the following modes: bomb,dclock,image,marquee,nose
    are affected.  Fixed a few problems with marquee for width, height, and
    if a character needs more than 2 bytes.
  In Cygwin a seemingly unrelated fix where USE_MB gets defined in xlock.h.
    An #undef was added in xlock.h, if USE_MB gets defined in an internal
    include file.
  -lcrypt added to modes/Makefile.in.  This is needed on my Linux Ubuntu
    and seems ok on Cygwin where it was not needed.  (If this causes a
    problem remove from modes/Makefile).  Also tested on FreeBSD. 
  cppcheck fixes
    passwd.c: passcpy could be freed twice
    iostuff.c: could have left file open
    ras.c: leak if mem fails
    resource.c: check if malloc succeeded was in wrong spot
    sound.c: ESound, a redundant check
    memcheck.c: continuing after memory failure
    dclock: problem with parens in ifdefs
    rain: leak fix ( :) )
    t3d: uninitialized time1 (unlikely but fixed anyway)
    molecule: leak if mem fails
    text3d: leak if nothing to draw

5.41
  ant3d: fixed "eyes" (occasionally was drawn on wrong face).
    Scaled down size by factor of 10 as it could cause a hit on cpu when
    large.
  dclock: fix for segmentation violation noticed on NetBSD and now more Y2038
    safe thanks to Ignatios Souvatzis <is AT netbsd.org>.
  life3d: rule B46/S34 and B45/S56 were broken for 14 neighbors

5.40
  life: fixed goof for neighbors 9 and 12.  Fixed merged triangles for
    windows version.
  life3d: better colors for "shading" cells.
  ant3d: slightly more efficient, also black cells are now removed.
  Fixes from Tom Schmidt (thanks!)
    Declarations need to be immediately after paren for compiling
      on gcc 2.95.3
    Fix typo in configure.in/configure for magick
    docs/Purify.sunos5 generic path change
    Fix a memory leak in modes/glx/juggler3d.c
    Noticed leak in latest changes of ant3d.c (fixed)
    Noticed another leak in juggler3d by gltrackall (fixed)

5.39
  life, life3d changed rule default format to be B/S instead of S/B
    as in Bays' papers.  Wikipedia life entry has it in this format.
    Fixed life3d.h warning on VMS.
  life: added more space for triangle and pentagon in life as sometimes
    adjacent cells would be joined.  Still looks bad in Windows
    though.
  demon: added -colorsonly option,
    now restarts when hits steady state... happens frequently on
    Cairo Tiling but probably could happen in any grid.
  magick update from api.h to MagickCore.h, thanks to Jouk Jansen.
  fzort change to use C Runtime Library (C-RTL) patch needed for shxxx
    routines, thanks to Jouk Jansen.

5.38
  Added -mayan option to dclock to count down to end of world (using local 
    time for 2012 December 21 (until we know differently  :) ) fixes for
    y2k and millennium... the offset from GMT was subtracted instead of
    added.

5.37
  life3d mode: rhombic dodecahedral life internal format now uses even cells
    instead of odd (thought to be more straightforward as (0, 0, 0) is a
    cell).
  biof mode: removed as I now see it has a GNU copyright, created a patch
    xlockmore-$VERSION+gnu.tar.bz2

5.36
  Fix for magick.c for small bitmaps like in life1d thanks to Jouk Jansen.
  Multiscreen fix for life.c thanks to Bill Totten <biell AT jabber.org>
    (broken since 5.33 I think).
  
5.35
  life3d mode: fix a display bug introduced in 5.34 (-neighbors 14 not
    working right).  Reorganized shooters and made more random.
  life mode: changed non-grelb life cells to trend to be smaller.
  Resynced life.h and life3d.h with lots of new forms found in my java app.
  make.com modified to work on an Itanium OpenVMS system thanks to
    Jouk Jansen.
  magick.c modified to work with current version of Imagemagick thanks to
    Jouk Jansen.  configure was updated to find magick.

5.34
  DPMS changed from 30 sec to 5 sec.  Define -DMIN_DPMS=3 at compile-time
    if you would like to change it to be sooner.
  life mode fix for hexagons, life forms would not map certain screen sizes
  life mode: Added new neighbor 9 ship, added asym ships for neighbor 12
    S356/B46, and added some new oscillators including a neighbor 6 p16.
    Now (mostly) use generated file from java app and life2d.xml.
  life3d mode: Added new some new oscillators including a neighbor 12 p10
    S456/B3.  Also new puffers and gliders found.  Now use generated file
    from java app and life3d.xml.
  loop mode: made new small loops less frequent
  
5.33
  Took out mode description on screen for WIN32 as it seems to
    mess up the screen frequently.
  life updates:
    added 2 more triangle rules from Carter Bays' applet.
    added a few more life forms to life (hexagonal)
    added a non-totalistic rule to life (square)  known as Rule 3/2ab3
      but for consistency it is known here as S2a2b2c2d3/B3.
  life3d added new life forms to truncated octahedral.
  ant/demon/life updates for -neighbors 5 or 7.  Now with better
    pentagons.  ant with -neighbors 5 should now work properly (7 removed).
  loop update added Byl and Chou-Reggia (1&2) loops, changed colors to be
    more traditional

5.32
  life3d update for -neighbors 14, new truncated octahedral life form.
  ant & demon updates for -neighbors 5 or 7

5.31
  -xinerama option added off by default. [Untested as I do not have true
    multiscreen.  I tried with Xnest but I do not think this ever worked
    with Xinerama.]
  cppcheck fixed minor issues in xlock subdirectory and with pyro2 and
    invert.

5.30
  atlantis, atunnel, biof, bubble3d, cage, fire, gears, invert, lament,
    moebius, morph3d, noof, pipes, rubik, sballs, sierpinski3d, skewb,
    sproingies, stairs, and superquadrics added to Windows version (atunnel,
    fire, lament, and sballs lack textures).
  skewb mode now scrambles, taken out of unstable category.
  Undo a cleanup in vroot.h, as xlock exits on startup with a BadWindow
    on pievwm and tvtwm.

5.29
  juggler3d mode stolen from xscreensaver with help from Tim Auckland.
    Jouk Jansen made safe for VMS and fixed colour problem.
  nose: cleaned up for win32.  Still do not know why this mode has
    bottom task bar.
  petri: crashed due to shift of int, fix from Dr Nigel Warr
    <warr AT kp.uni-koeln.de>.  petri improved for win32, should not be
    red all the time now.
  penrose should be working again.  Other small fixes for life, etc.
  image: image set right away and added option -icononly to only display
    image when in password window
  Xinerama patch so the password window will be displayed on one screen
    thanks to Kaelyn Uhrain <satyr_22901 AT yahoo.com>.  (On the wish
    list would be to have password window on screen with mouse instead
    of first screen.
  SuSE patch set thanks to Stanislav Brabec <sbrabec AT suse.cz> and
    Petr Gajdos <pgajdos AT suse.cz>.  For problems in code and compiler
    warnings: fixes build with GLTT and FTGL modules, return if fontset
    is null instead of crash, fixes strict-aliasing compiler warning,
    makes void function not returning anything.
  life3d: resync with my Java code for new patterns.
  xlockrc (use of xlock without system password) did not actually check
    if Key portion matched Again portion.  Also now deletes null .xlockrc
    file when there is a mismatch.

5.28
  invert: build failures from Sun Studio Express C++ like this:
    Error, manymatchover: Overloading ambiguity between "operator^(const
    TwoJet, double)" and "built-in operator^(int, int)" fixed by casting
    to double, thanks to Tim Mooney <Tim.Mooney AT ndsu.edu>.
  life3d:
    4 more rhombic dodecahedron S3/B3 patterns including a period 4 pattern
      (only S3/B3 period 2 and less patterns left from Bays' papers).
    Glider code revamped to make more maintainable, using populateGlider().
    unsigned int fix thanks to Jouk Jansen.
    Added new cube gliders from Bays 2006 3D Life paper and found a few
      patterns for the gliders to crash into.  (S23B5, S25B5, S27B5, S35B5,
      S36B5, S37B5, S38B5, S4B5, S47B5, S57B6, S58B5, S8B5).
    New mode option added "+draw", this turns off drawing to the screen
      to speed up searches, and more importantly, make less annoying :)
  life: resyncing with my Java code.
    Switched how static triangular forms are stored
    Added a lots of new triangular patterns, including 2 gunship triangular
      patterns.  Also added handful of other patterns.
    Reading memory on uninitialized variables fix thanks to Jouk Jansen.
    "+draw" mode option added.
    Pentagonal (Cairo Tiling) life added with glider shooters.
      "xlock -mode life -rule S23B346 -neighbors 7" or
      "xlock -mode life -pent2".
    New gliders found by David Bagley, one in 5 neighbors pentagonal life
      (-rule S24B2) "xlock -mode life -pent", the other in 9 neighbor
      triangular life "xlock -mode life -neighbors 9" (-rule S3B34).
      Associated periodic patterns for each added.
    Added more symmetries and now have all the random symmetries
      (at least I think so) for squares, hexagaons, triangles, and
      pentagons.
    Proportions fixed for pentagons.  New live chars accepted by
      -lifefile .  One more triangular life form shooter added.
  Macro FTGL213 added for new FTGL library.  If you need it to compile
    text3d2.cc, make sure it compiles with -DFTGL213.  Should work
    automatically for VMS though, thanks to Jouk Jansen.

5.27
  PAM_putText() would set pointer resp->resp to buffer.  This will work
    until memory is reused.  Thanks to Howard Kash <hmkash AT arl.army.mil>.
  ico updated to show the two edge transitive Catalan solids, i.e. the
    rhombic dodecahedron and the rhombic triacontahedron.
  Added __linux__ to define list to allow newer sig masking to get rid of
    pesky deprecated message.
  configure checks for libXdpms
    libXext has the DPMS functionality on both XFree86 4 and X.org.
    (libXdpms may be Xfree86 3.x). Added /usr/pkg/lib and /usr/pkg/include to
    long list of paths it checks in.
  life added more life forms triangular life from Bays' paper and added
    S245B3 with glider (-neighbors 8) from Bays' paper.  Found some
    patterns in S245B3 for the glider to crash into.
  life3d -rule S45/B4 -neighbors 18 and -rule S45/B4 -neighbors 20 from
    Bays' paper.  Found some patterns for the gliders to crash into.
  life3d -search added.  Need to add more symmetries for 3D.
  life3d -rule S3/B3 -neighbors 12 and -rule S456/B3 -neighbors 12.  Added
    a bunch of patterns from Bays' papers but not all.  -neighbors 12 now
    a rhombic dodecahedron instead of a cube.
  ant3d -neighbors 12 (3d bees). Added eyes option to this.
  Just noticed solitaire, a mode I added, was spelled wrong, ie. it was
    spelled without the second "i".  Fixed a goof in solitaire.cc.  

5.26
  "Esc" key now resets password entry.  Do not put an escape in your
     password.  This should behave the same as Control-U.
  -showdate added.  +showdate allows you to turn off date in password
    window.  Also fixed centering for this.
  Inverted bitmap for xlock.  Added a icon for VMS.
  Updated the Java launcher in xlock.
  antic cleanups.  It found a few minor bugs but mostly makes the code more
    readable (without being too overbearing IMHO).  The current version trips
    on #ifdefs though.
  New mode pyro2: -mode pyro2 -msg 'MSGSTR' -fnt 'FONT'
    MSGSTR consists of following elements:
      EXPLOSION is one of &0, &1, ... &9, &a, .. &f each of which presents a
        different type of explosion.
      TEXT is a text string like 'linux'. the string may contain blanks.
        '\n' is interpreted as a new line.
        '\\' is a backslash.
        '\&' is an ampersand.
      LOGO is the sign #. An exploding penguin or other icon will be shown.
      FONT is something like '-*-helvetica-bold-r-*-240-*' the font to be used.
    Thanks to Pezhman Givy <phg AT snafu.de>.
    Modifications for +install, -mono, and Windows.
  New resource files for Chinese... Xlock-zh_TW.ad, resource-msg-zh_TW.h,
    xlock-msg-zh_TW.h.  Thanks to Wei-Lun Chao <chaoweilun AT gmail.com>.
    Following this example, I split out the different languages from XLock.ad
    as it seemed odd when editing and did not want to corrupt anything,
    especially if I could not verify it.
  Automata modes now have triangular tilings drawn with a black
    triangle around it.  Fixed dilemma, for it only is interesting with 4 or
    8 neighbors.

5.25
  Renamed xlockrc.rc to xlock95.rc.
  win95 settings fixes from Frank Fesevur
    'Enabled' checkbox set in the savers configuration for is honored
        when the random mode is selected.
    Dialog rearranged to allow more room for Delay/Count/Cycles.
    Version is now displayed.
  ant3d,ant,life1d now with better colors.  Really looked bad on Windows 95.
  rain a new mode from Frank Fesevur.
  Patch for running stuff like "xlock95.scr -s ant3d" thanks to
    Frank Fesevur <ffes AT users.sourceforge.net> which makes testing
    and showing a particular mode much easier.
  Fix for xlock -resource in life.c.
  Added a compile-time option "-DNO_TIME if you do not want the time in the
    password window.

5.24
  penrose added to xlock95 ("far" changed to "faraway" to compile).
    xcl added with a fix for DefaultScreen, which should not be
    there since xlock is a multiscreen program.
  Created packaging scripts in etc with input of releases to make
    it easier for me for release and zip.  It gets version from
    xlock/version.h .
  Changed pgsz and txsz variables in my man2html so it does not cause
    corruption in generated xlock.html from man page.
  Patch for solitare and reducing binary size for xlock95 thanks to
    Frank Fesevur <ffes AT users.sourceforge.net>.  
  dilemma, voters, wator hexagonal/triangular drawing improvements.
  More triangular/hexagonal life from Carter Bays.
    http://www.cse.sc.edu/~bays/CAhomePage
    Fixes for old options for command line -rule S2b34B2a and
      -rule S2a2b4aB2a3a4b using -neighbors 6 .
    Fixes for hexagonal diagonal shooters.
    Added new hexagonal life -rule S35B2 and S3B245.
    Added many new triangular life rules with gliders.
    Updated random soup to include multiple symmetries.
    Added options runtime -glidersearch and -patternsearch, to be used with
      big values of cycles and count ie. -cycles 1000 -count 100000000
    Added -repeat num option to help find patterns that do not repeat in num
     periods.  This will output a pattern in cycles - num .  If compared to
     the output of cycles, one can see if a new pattern may have been
     discovered.
  Added -vertical option to ant, bug, demon, dilemma, dragon, life, loop,
    voters, wator, wire, these affect triangles and hexagons and crystal
    which affects parallelograms.
  DirectColor fixes for password window thanks to Jouk Jansen [still under
    development under DIRECTCOLOR_FIX].

5.23
  Fixed core for toneclock (fixed similar code in ico).
  Remove XSetFont on global GC dclock, marquee, nose, puzzle, xjack,
    bomb.
  image now can handle messages xlock -mode image -message "unicycle"
    If message is too big for little window it will randomly move
    around.
  solitare draw line errors fixed.
  dclock to handle user defined messages (nothing really to do with
    a clock, actually, but the man page already says
    "Shows a floating digital clock or message").
  nose mode tried to simplify talking code and fix small bugs like
    do not print tabs (it prints a box char for me) or not handling
    linefeeds correctly at end of message.
  DirectColor fix thanks to Jouk Jansen.
  Mallocing for error should check success pointed out by Dan Lukes.
    Using method in xlock.c, with some changes, did similar changes for
    passwd.c and resources.c
  PAM checking allocation fix and null resistant ReadXString thanks to
    Dan Lukes <dan AT obluda.cz>.
  Added stipples to life3d.  Noticed ant3d would probably leak if in
    mono... fixed.
  thick option for maze thanks to Alex Austin <circuitsoft.alex AT
    gmail.com>.  Also changed MINGRIDSIZE to 2.  Removed extra pixel space
    to the right and bottom of path... some people may like this so its
    an option... threed (not really 3D, a better name would be nice).
  fzort fix for uninitialized memory read thanks to Mauro Persano
    <mauro_persano AT yahoo.com>
  Fix to avoid running OpenGL on a StaticGray, GrayScale, and StaticColor
    on Sun.  Sun's glxCreateContext core dumps on Solaris 10.
  Turned off XRaiseWindow for Cygwin as it was stopping me from logging in.
  Added -DSYNCHRONIZE option to config.h.in for help in debugging X errors.
  Fixed a problem with random colors from petri mode PseudoColor.

5.22
  fiberlamp fix for array bounds read and leak fix for deluxe
  magick and raster file (ras) fixes for True Color by Jouk Jansen
  Removed some compiler/lint warnings.
  deluxe mode ported from xscreensaver by Jouk Jansen.
  anemone mode ported from xscreensaver by Jouk Jansen
  win32 changes from Petey Leinonen:
    added XPutPixel()
    pacman now works by changing the initialization and now can create a
    1 bit depth bitmap when asked for.

5.21
  Removed random colors from petri mode.  Found that it could cause a fatal
    error on PseudoColor.  [Will try to fix better on a later release.]
  PAM update from Yuri Bushmelev <jay-dev AT simcom.ru> fixes an
    initialization problem PAM_conv function and made cleaner and friendly.
    BAD_PAM fixed.
  fzort mode by Mauro Persano <mauro_persano AT yahoo.com>... its not a
    OpenGL mode but it looks like it is.  Try using with -mono also.
    Tom Schmidt found an as of yet unresolved Uninitialized Memory read,
    see Purify logs.
  dclock -binary option added thanks to Petey Leinonen (he saw the
    original on thinkgeek).
  Non-compatible routines for shared memory workaround for VMS when using
    libs MMOV(Multimedia for sounds) and DECWINDOWS thanks to Jouk Jansen.
  mandelbrot options added thanks to Tim Auckland
    update from Jouk Jansen to avoid log of 0
    -alpha adds detail to the interior of the set by displaying level sets
    of "closest return", ie how close does the orbit of z come back to its
    starting point z=0.  These show minima around the center of each bud.
    -index is similar, but displays at which iteration the closest return
    occurs.  These show a fibonacci branching structure from the base of
    each bud, ie each adjacent pair of domains surrounds a domain whose
    index is the sum of the indices of its neighbors.
    -lyap option for colors in the interior of the set according to an
    estimate of the Lyapunov exponent.  (Not to be confused with real plane
    Lyapunov fractals).  Also now allow -binary and -dem.
  New random mode for win32, compile with -DRANDOMMODE .
    It seems to bomb out if you run it for a while, so I did not make it
    the default.
  win32 changes from Tim Auckland:
    new configure dialog
    random mode done to enable
  win32 changes from Petey Leinonen:
    fixes for nose and life1d
    matrix mode works with the 2 following changes
    fixed XCopyArea() for destinations that are not windows (ie a bitmap)
    fixed XCreatePixmapFromBitmapData() so it always creates a pixmap
      regardless of depth ( creates the Windows bitmap with 1 bit depth),
      and apply the foreground and background colors.
    XCopyArea, XSetTSOrigin, XSetFillRule fixes and got these modes to work:
    bat, bounce, dilemma, eyes, image, nose, pacman,
    shape, slip, star, starfish, wator, world
  unlock delay from lgx <lgxror AT gmail.com>  [it was explained to me
    but still not sure why you would use it]

5.20
  win32 changes from Tim Auckland:
    Faster starting fix
    general install fix
    flow now uses PolyDraw... making it run faster
    Juggle cleaned up Arc drawing and
    XQueryFont now returns a dummy font (which XDrawString ignores)
    fiberlamp now jiggles
    XTranslateCoordinates fixed, Arc fixes, and  pattern label disabled
    for juggle...
  win32 changes from David Bagley:
    New bitmaps and pixmaps.  Makefile change so maze uses one.
    shifted text printing in api and on apollonian mode
    polyominoes looks better because I changed the meaning in the Api
      for DrawRectangle.  It now just draws a rectangle outline.
    added julia life life1d swarm tetris
    voters inverted but this uses xbm?
    made FULL_RANDOM the default
    fixed much of xjack (except when it gets to bottom of screen)
    Labeling now on right side and aligned.
    Change the name from xlockmore95.scr to xlock.scr.
    Added a new ico file.
    I added 17 modes on top and took out some warnings.
  Merged with xlockmore95-0.11 with thanks to author Petey Leinonen
    <petey_leinonen AT yahoo.com.au>.  See win32 readme.txt and todo.txt.
    double buffering implemented, transparent background for text,
      XPutImage fixes, XCreateImage added
    Currently, it is not easy to select a specific mode and some modes
    need work.
  Modified life and life1d sizing to be more variable when there
    is no bitmap.  Also thanks to Tom Schmidt for a non Grelb icon fix.
  voters modified to have proper colors for Democrats and Republicans.
    As a left wing liberal, I just had to add the "Green" bitmap.
    Old commie icon available as compile time option (but will be green).
  New portable method for locking Virtual Terminals (vt). Added to README.
    Thanks to Sergei Golubchik <sergii AT pisem.net>.
  Allow xlockrc to allow passwords of any length (not just 8) thanks to
    <Manuel.Reimer AT gmx.de>  (actually it just ignores characters after
    the 8th character... but now ignores it in a more consistent way).
  make.com modified to use IEEE floats instead of VAX-floats thanks to
    Jouk Jansen.
  Changed default for PAM (since I have got a few mails about it).  Compile
    GOOD_PAM (sorry did not know what else to call it) if you like the old
    way.  GenToo and (most?) other Linux versions should compile by default.

5.19
  labeling added to ant and ant3d.  The other day, ant3d made a really
    cool looking fan... that prompted me to add labeling so I could save
    the ones I like.
  configure fix for DragonFly thanks to Joerg Sonnenberger
    <joerg AT britannica.bec.de>
  molecule mode fixes, glPushAttrib calls calls were passing invalid
    values thanks to Brian Paul <brianp AT ra.avid.com>.
  5.18 patch for PAM seems to cause problems in Gentoo linux so
    added a GENTOO ifndef around the problem line.
  Fix for a subversion version of ImageMagick thanks to Jouk Jansen.
  Fix for uninitialized read, thanks to Tom Schmidt.

5.18
  toneclock coredump fix for 5.17 version thanks to Jouk Jansen.
  Invalid mode added.  :)  lock the screen if an invalid mode is specified
    "xlock -mode tom" like "xlock -modelist bug,tom"
  errno fix in passwd.c for DragonFly thanks to Joerg Sonnenberger
    <joerg AT britannica.bec.de>.
  PAM fixes for when 1. TTY is not set to DISPLAY xlock can fail, 2. Tidy
    fixes for PAM_BAIL.  Thanks to George D M Ross <gdmr AT inf.ed.ac.uk>.
  Notes from Marcelo Vianna <mfvianna AT centroin.com.br> on morph3d added
    as comments to morph3d.c.

5.17
  toneclock hours are now more random thanks to Jouk Jansen.
  Updates from changes xscreensaver version of Tim Auckland's fiberlamp
    Moving the window will jiggle the lamp (-inwindow only!!)
    Fibers are incrementally sorted to improve rendering.
    Fibers are all erased at once.

5.16
  Bug in resource.c for DEF_FILESEARCHPATH fixed thanks to
    Michal Cihar <michal.cihar AT suse.cz>. (Broken since 5.14).
  Added 24 hour clock (alex(at)shark-linux(dot)de)
  toneclock with more nonstandard clock faces thanks to Jouk Jansen.
  Port of biof thanks to Eric Lassauge <lassauge AT users.sourceforge.net>.

5.15
  Various cleanups.
  fiberlamp thanks to Tim Auckland.  Run by itself using -mode and press
    middle button to give it a kick.
  life mode fixes for -mode life +fullrandom and also labeling for
    -neighbors 6 .  Conway life would occasionally be initialized with
    a bad lifeform.  More interesting forms of High life would never come
    up.  No labeling problem fixed on given rules.
  Fixed a problem with configure if g++ is used from say /usr/local where
    no other packages are used from there.
  Changed VPATH to set without appending / as it seems to cause problems
    on NetBSD with an /install directory.
  juggle mode improvements added thanks to Tim Auckland
    More objects to juggle (clubs, torches, knives, rings, and bowling balls)
  toneclock mode thanks to Jouk Jansen.
  enabled multibyte support for more than one fontset thanks to
     Michal Cihar <michal.cihar AT suse.cz>.
  ifs and strange modes now use a real Gaussian generator but does not
    seem to make a difference... thanks, I guess, to Tim Auckland.  :)
  configure change for PAM so it will work on FreeBSD thanks to
    Spencer Visick <visick AT eng.utah.edu>.
  Fixed PAM goof.

5.14
  fadeplot,laser: do not clear so much with erase modes
  (void *) for (caddr_t *) in argtype to get rid of most gcc warnings.
  g++ cleanups for xglock, xmlock, flow, life, marqee, apollonian, pacman
  configure cleanups.
  Goof for random placement of labeling for life and life3d i.e.
    the S could burn in on those old monitors.
  flow mode improvements added thanks to Tim Auckland
     Replace 2D rendering of Periodic Attractors with a 3D
       'interrupted' rendering.  Replace "-/+allow2d" with "-/+periodic"
     Replace all ODE formulae with completely generic forms.
     Add '-search' option to perform background high-speed discovery
       for completely new attractors without impacting rendering
       performance.
     Use gaussian distribution for initial point positions and for
       parameter search.
     Add "+dbuf" option to allow Double-Buffering to be turned off on
       slow X servers.
     Remove redundant '-zoom' option.  Now automatically zooms if both
       rotation and riding are permitted.
     Replace dynamic bounding box with static one pre-calculated
       during discovery phase.
     Simplify and fix bounding box clipping code.  Should now be safe
       to run without double buffer on all XFree86 servers if desired.
     Sync'd up with xscreensaver version
       Orbital camera (-/+rotate)
       specify following bee (-/+ride)
       zoom between bee and orbit (-/+zoom)
       Bounding Box (-/+box)
       disable 2D Poincare' section flows (-/+allow2d).
     Also added basic double-buffering to avoid XFree86 'debris' problems
       when lines go out of bounds.
  A few more fixes from Eric Lassauge <lassauge AT users.sourceforge.net>.
    gtk2/gtk detection in configure, automatically does a make for xglock
    xglock now uses GTK2
    genlauncher fix for noof (used by xglock).
  life1d repeating patterns have a better chance of being caught.
  compile dependencies for ImageMagick for VMS thanks to Jouk Jansen.
  NICE_ONLY build option added.  --enable-nice-only or --enable-blank-only
    nice modes also reevaluated thanks to Tom Schmidt.
  config.sub and config.guess updated from GNU.
  Changed PAM to USE_PAM to be consistent with imake.
  loop is more random when run as a single mode.  -langton option added
    if one just wants Langton's Loops.
  atunnels resync with xsreensaver for new textures
    thanks to Eric Lassauge <lassauge AT users.sourceforge.net>.

5.13
  life.h and life3d.h modified to allow use of names with compile-time
    options LIFE_NAMES (this doubles the memory for these guys so I am
    not sure if its wise).  Text for screen "-label" added for life and
    life3d like apollonian mode (Hmmm this highlights the fact that some
    of the pattern names that I chose for life3d are stupid :) ).  Added
    -sequential off by default so now the change button randomly picks a
    pattern from a rule.
  ant3d: new mode... -eyes are the eyes on the small leading black face :)
    (todo: need better "eyes" on the leading face of the leading cube).
  triangle use fast erase before drawing the next iteration
  life3d and ant3d movement of perspective
  ant and ant3d command line option rule to pick Turk's ants and table
    for other ants.
  time as part of plan thanks to Robert Goliasz <uuk AT irc.pl>
    Author of patch says, "If someone wrote a nicer time displayer, eg.
    in one of the corners and updated each second, I'd be pleased :-)"
    Fixed for C and Cygwin.
  Patch to remove unneeded include of linux/fs.h and adds include for waitpid
    thanks to Michal Cihar <mcihar AT suse.cz>
  New life forms for life3d.h.

5.12
  xlock -size 0 -cycles 0 -count 0
    Fixes for [apollonian flame hop julia kumppa life life3d
    qix scooter spiral thornbird worm]
  Added wrap-
    ping on loop.c.  Dissolving and evolving loops added from ideas of
    Hiroki Sayama <sayama AT is.s.u-tokyo.ac.jp>.  Fixed a core dump
    involving flaws.
  New -echokey option thanks to <martin.zwickel AT technotrend.de>.
    Use like: xlock -echokey "*" -echokeys
    "Undocumented" feature (blame maintainer): xlock -echokey swear -echokeys
  Updated life.h and life3d.h from Lee Earl Meeker's excellent
    "Four Dimensional Cellular Automata and the Game of Life" 1998
    http://home.sc.rr.com/lmeeker/Lee/Home.html
    A life4d mode next?
  Removed duplicate code in xlock.c thanks to Norihiko Murase
    <skeleten AT shillest.net>.
  Fix for case of random files on a VMS file system from Jouk Jansen.
  Fixes and added options to life.c mostly for trilife.
  utext3d2, atlantis -gradient, and French changes to resources
    thanks to Eric Lassauge <lassauge AT users.sourceforge.net>.
    I needed freetype-2.1.7.tar.bz2 http://freetype.sourceforge.net
    and FTGL.tar.gz http://homepages.paradise.net.nz/henryj/
    New make.com from Jouk Jansen for VMS.
  Debug patch below had an undesired effect on euler2d.c.

5.11
  Nodename patch for OpenVMS thanks to Jouk Jansen
    <joukj AT hrem.stm.tudelft.nl>.
  Speed up of lyapunov thanks to Yafe (yet another fractal explorer)
    maintainer Alex Pankratov <ap AT cipherica.com>.
  The 5 OpenGL high intensity modes... atunnels, fire, sballs, sproingies,
    and sometimes gears now have full screen defaults.
    See XLock.ad and grep on 402 to change them back.
  Three patches thanks to <michal.cihar AT suse.cz>.
    debug patch - s/if DEBUG/ifdef DEBUG/
    helper patch - support for auth using external program
      (The idea is xlock needs to be sgid shadow to allow reading
      /etc/shadow. This way needs just some small binary to be sgid.)
    various compile fixes

5.10
  Allows xlockmore to be configured to pipe the password into a command
    when the correct password is entered.  Thanks to Nick Cleaton
    <nick AT cleaton.net>  Disabled for VMS.
  rubik lxmxn allow l&m&n to be 1 but not all at once.
  minor skewb fixes (the hidden surface was not flush, and one of the pieces
    was turned).
  Disable logout button and autologout with -logoutButton -1
    put back in by popular demand.  NO_NEGATIVE_LOGOUT will disable but
    its not active by default.
  rubik's orange was pink.
  JP to JA fixes and some more Japanese and French translation thanks to
    YAMAGUCHI Shingo <shingo-y AT spacelan.ne.jp>.

5.09
  kerberos4 fix (it got bumped during a kerberos 5 update)
  penrose -mono now more interesting
  updated -showfps.  It should work better now.  It stops working when
    it jumps from the password window.
  mandelbrot -pow and -sin options added.  Kind of slow, so not in
    fullrandom.  Best if used with -binary.  No idea if the new options
    are correct mathematically.
  allows lifefile to be bigger in life and life3d.  (This allows
    the  "-mode life3d -rule B6/S567 -lifefile ../etc/barrierg.3dlife".
    (If a glider could escape from the barrier without damaging it, it
    would prove that glider guns in 3d life are possible since the
    barriers create a local Conway's B3/S23 life.))
  converted lyapunov,mandelbrot,swirl,tube to the xscreensaver way of
   doing things for writeable modes.  Stuff no longer used or never used
   taken out with the help of lint.
  xmlock and Xlockup (by Thad Phetteplace tdphette AT dexter.glaci.com).
    Only works on Sun.  Will sort of work on Linux for
    detecting mouse movement only.  See xmlock.c.  Default timeout is set
    at 0 (off) so this will not cause a problem if it does not work.
    Jouk Jansen's patch for Alpha (slightly changed).
  wire restarts when static
  lyapunov was left out of writeable modes in random.c
  spline fix, when in random mode it could core dump.
  maze fix thanks to guillem.hernandez AT bt.com, for large resolutions as in
    a dual headed configured as one 2560x1024 screen.

5.08
  crystal and starfish changes to allow graphics to work better in a 64x64
    window.
  life3d randomized "rotation" of life form.  Wireframe made a little less
    likely in fullrandom.
  life fix, trilife came up too much in fullrandom.
  Kerberos prompter code fixed for NULL banner thanks to Ken
    Hornstein <kenh AT cmf.nrl.navy.mil>
  Atlantis texture fixes thanks to Eric Lassauge
    <lassauge AT users.sourceforge.net>.
  Flow tails added.  swarm and flow patch for broken Xservers backed out
    thanks to Tim Auckland <tda10.geo AT yahoo.com>.

5.07
  Ability for xlock converse with PAM added by Tim Reed
    <treed1 AT twcny.rr.com>.
    Some more fixes for compilation problems by Jon Nelson
    <jnelson AT securepipe.com>.
  Fix for flow for broken Xservers thanks to Tim Auckland
    <tda10.geo AT yahoo.com>.
  AFS fix for TRU64.
  Fix for random.c when BLANK_ONLY is used.
  Restart life when static or blank.  Added Thompson's Day and Night and
    Bell's High Life.  These are alternate life rules.  Day and Night
    butterfly added as a glider shooter.
    Fixed Andreen's hex life can come up in addition to Callahan's.
    Added many life forms from Life Lexicon.
    Trilife added (also randomly rotated and shooters added).
  Better fix for -rule3d and -v from Emmanuel Jeandel
    <ejeandel AT ens-lyon.fr>.  I guess I went a little crazy with security
    and made it strncmp instead of strcmp.
  xlockgroup patch for allowing all in the xlock group to unlock.
    Thanks to Rich Anderson <RANDERSON AT northropgrumman.com>.
  Syslog fix when gid not in /etc/group.
  life3d double buffering (also made wireframe come up a little less often)
    dead (blank) or static (period 1) life forms last just 8 generations
    Added gliders from http://www.cse.sc.edu/~bays/d4d4d4 3D applet.
  I copied an encrypted password to /etc/passwd and it worked fine without
    USE_XLOCKRC.  Put a warning in configure if /etc/passwd not set up and
    and not using USE_XLOCKRC and cygwin.
  Clean up of some text errors with BUTTON_LOGOUT and failure count.
  Added a Caps Lock check.  Don't you hate it when certain software says
    "Make sure that the Caps Lock is not accidentally on." and the Caps Lock
    is not on... I thought computers can know their own state.
    added ", Caps Lock on" to invalid string.... needs French/Japanese
    translations (also needs German translation but others parts need that
    as well.
  cleaned up some various variable shadowing in modes.
  check_gl_error protection (previously it would error out... not good
    for a locker).  This could be a major security problem but I can not
    reproduce this on my Linux machine.  Someone was able to get a "texture"
    error by repeatingly pressing the middle button with glplanet up.
  text3d acts more like blank if it does not get a TTF file (blanks out
    password screen).  Fixed configure of DEF_TTFONT if prefix not set.
  Andreas Voegele <voegelas AT gmx.net> pointed out -nice option was ignored...
    hopefully fixed now.  Check now for HAVE_SETPRIORITY.
  uninistall and clean on Cygwin should now work
  More Kerberos support thanks to Ken Hornstein <kenh AT cmf.nrl.navy.mil>.
    support for the new krb5-config script to determine the correct
      options used to compile Kerberos
    - If you're using Kerberos, it prints your Kerberos principal in the
      username field.
    - It uses a callback function in case the library needs to prompt the
      user for any additional information (in case your password expires,
      for example).
    - It makes the writing out of credentials a configure option.
  -logoutButton minutes now in man pages.
  "configure --with-opengl --without-xpm" should now work for atlantis,
     atunnels, fire, and sballs.

5.06
  Updated xlock/vms_x_fix.h from Jouk Jansen.
  Patched losira erase mode, would die on X_FreeColor with
    swirl,mandelbrot,lyapunov,tube on PseudoColor and DirectColor.
  Patched swirl for DirectColor.
  Makefile.in changes by Peter Breitenlohner <peb AT mppmu.mpg.de> so that
    xlock can be built outside the source tree.
  setuid(0) is moved 3 lines up so BAD_PAM option could work with an
    /etc/pam.d/xlock configuration file that users do not have access to.
    Thanks to Jan Provaznik <xprovazn AT informatics.muni.cz>.
  petri / 0 fix thanks to Jouk Jansen
  Cygwin fix for logout.c thanks to Joseph Davida <jd108 AT pacbell.net>.
  Linted (lots of minor fixes) and removed the voids on free.  Lint
    pointed out some problems with erase modes and petri.
  Failed unlock attempts thanks to <colin AT colino.net>.
    Need Japanese, Dutch added by Jouk Jansen.
  New mode atunnels thanks to Eric Lassauge based on Roman demo.
    tunnel0.xpm color names for many grays ("darkgray", "gray2", etc) not
      found on SunOS4 which then caused memory leaks thanks to Tom Schmidt.
    -size option like fire (since it is real slow on slow machines)
      thanks to Tom Schmidt.
    Another VMS update and pipe protection from Jouk Jansen.
    TODO:
      Check multiscreen, allocation check
      Trackmouse would not be bad either.  -wire does not seem to work.
      Some other color schemes than the greyish default.
  pacman patch to get rid of negative unsigned check thanks to Jouk Jansen
  Patch for WindowMaker, this permits one to set several attributes to
    every window opened; each attribute is associated to the class of
    the window.  Thanks to Paolo Subiaco <iw3grx AT ir3ipa.ampr.org>
  Erase compilation warnings removed thanks to Jouk Jansen.

5.05
   Allow -erasemode to handle more complicated requests like
    -erasemode all-circle_wipe, code converted from random.c
  swarm unbroken (broken by me from 5.03) thanks to Gunther Nikl
    <gni AT gecko.de>.  Changed some defaults and bee acceleration.
  Xlock.ad iconfig changes for sound thanks to James B. Hiller
    <jhiller AT visi.net>.
  petri mode ported from xscreensaver thanks to Jouk Jansen.
    -mono (well it may be important if you run out of colors).
    Also a few more checks, fixes, refresh, etc.  Purify fixes by
    Tom Schmidt.
  polyominoes a longer delay when it found a solution.

5.04
  pacman AI update with trackmouse thanks to Edwin de Jong <mauddib AT gmx.net>
    C++ fixes, memcpy preferred over bcopy, random start.
  Changed delay on several GL modes.  They were too fast on my GeForce4.
  bounce drawing errors fixed on my nVidia fixed
  ant: fudged the truchet lines a bit more for squares and hexagons.
  molecule needs to be protected from pipes by a  "glDrawBuffer(GL_BACK);"
     thanks to Jouk Jansen.
  Patch from Marcelo Vianna <mfvianna AT centroin.com.br> to get his modes
    (cage,moebius,morph3d,rubik) working on NVidia under XFree (NVidia
    has a policy to not release code open source and the bug crashes the
    system requiring a hard reset).  Since skewb is similar that was done
    as well by maintainer.
  configure changes for 2.53, added option for .ad installation dir,
     check for xlockrc and pam.
  flag debugged for xpm, do not set byte order for ZPixmap.
    Flag ripples now flow left to right and from bottom to top.
  Combined XLock-jp.ad into XLock.ad
  fontset to use regular (not bold/italic) font/fontset as default,
    fix for sound.c using DEF_PLAY, and a fix for customName
    thanks to Shingo Yamaguchi <shingo AT kip.iis.toyama-u.ac.jp>.
  nice changes were causing problems, set_priority used instead thanks
    to Felicia Neff <fn AT panix.com>. (VMS still uses nice).
  noof mode added from GLUT demos thanks to Dave Riesz <driesz AT cpl.net>.
  USE_XPM changed to HAVE_XPM to be compatible with xscreensaver.

5.03
  GL updates: lament (light and color are more realistic),
    gears (misc updates) and atlantis (first try) for a
    thanks to Eric Lassauge ported from xscreensaver (VMS patch for
    atlantis from Jouk Jansen).
  logout button Array out of bounds fix thanks to Tom Schmidt.
  ant,bug,coral,crystal,daisy,demon,decay,dragon,goop,loop,slip,sphere,
    tetris,turtle,voters,wator,wire,&xjack fix and squaretate fix for 1x1
    screens, thanks to Tom Schmidt for helping out.
  juggle updated for xscreensaver... thanks to Tim Auckland
    <tda10.geo AT yahoo.com>.  I made similar MODE_ changes throughout.
  loop update to make flaws closer to the initial loop, without this
    it could be quite slow
  pacman update/rewrite: level generator added, dots added thanks to
    Edwin de Jong <mauddib AT gmx.net>
  2 erase modes ported from xscreensaver, thanks to Jouk Jansen.
    Also added features to make these 2 modes more random.
    Fix to set back line width.
  standalone maze from Ephraim Yawitz fyawitz AT actcom.co.il back into
    maze mode for interactive feature.
  RedHat fixes (VMS Intrinsic.h placement, rpm & configure updates)
    and update to text3d.cc (removed blank, cleanups, and wander animation)
    thanks to Eric Lassauge.
  sounds can now be randomized using directories thanks to Jouk Jansen.
    Also a fix for sel_image wildcard selection for VMS, thanks to
    Tom Schmidt for noticing it does not work on UNIX machines.
  swarm -size was inconsistent with other tails like worm and julia.
    It now uses -cycles thanks to Frank v Waveren <fvw AT var.cx>.
  fire, lament, sballs fixes on SGI Marcus Herbert <rhoenie AT spam-filter.de>
  xmlock update for options thanks to Charles Vidal.
  MI_IS_DRAWN fixes thanks to Jouk Jansen.

5.02
  gcc-3.0  It did not like:
    bigendian now removed from configure
    had some trouble with "-c -o" for compilation, fixed
    -Wall -Wstrict-prototypes -Wmissing-prototypes removed as was too noisy
      about system files... -isystem did not seem to help
    Solaris troubles with sigset_t (solved in xlock.c) and wchar_t
      (solved in configure.in).
  fire update for wandering and sball update, thanks to Eric Lassauge
    <lassauge AT users.sourceforge.net>.
  Changes to Makefile and using DPMS for NetBSD.  Thanks to
    <hubert.feyrer AT rz.uni-regensburg.de>
  Standard spot for assorted xlock stuff is now "/usr/lib/X11/xlock".
    This can have 3 directories "fonts", "modules", and "sounds".
  Configure change for mesa disabled and gl enabled and round conflicts
    in solitare thanks to Michael Stone <mstone AT debian.org>.
  ImageMagick for UNIX... not working yet...
    Thanks to Tom Schmidt for sort of getting it to work on JPG, PPM, PS,
    and RGB (TrueColor problem) but it still does not work on BMP, GIF,
    PNG, RAS, TGA, TIF, XBM, and XPM formats.  [None work for me yet.]
    Now uses configure --enable-magick
    Core dumps when reading in an image.  According to
    http://www.imagemagick.org/, this happen if the application does not get
    compiled or linked the way ImageMagick expects (used ImageMagick-5.3.6).
    Patches for VMS from Jouk Jansen (it still works there).
  Cygwin32 updates, see README on how to build.
    changed modes/dclock.c xlock/xlock.c xlock/passwd.c
      added defined(__CYGWIN__) where appropriate
    modified configure.in (and configure) to add libcrypt in XLOCKLIBS
    usage: xlockrc running mode is used. At the first use the password is asked
      "Key: " and a $HOME/.xlockrc file is created with encrypted password.
    Specific bitmap and pixmap for cygwin, xmlock update
    What is not done yet:
      sound support, text3d
    Thanks to Eric Lassauge <lassauge AT users.sourceforge.net>.
  delay patch that takes into account the amount of time spent drawing
    and syncing the screen.  Thanks to Nick Johnson http://www.spatula.net/
  Configure updates for SIA and small goof fixes thanks to Tim Mooney
    <mooney AT dogbert.cc.ndsu.NoDak.edu>
  Updated README for gltt patch recommendation so xlock will not core dump
    if symbol.ttf and wingding.ttf are in the font directory.
    text3d finally taken out of unstable with patch for double free from Tom
    Schmidt.
  Distributing in bzip2 compression.  Any problems with the change?
  apollonian mode thanks to a program by Allan R. Wilks
    <allan AT research.att.com>.  For example, -1,2,2,3 are numbers that
    represent curvature (1 / radius) in Euclidean space for the circles.
    (This converts to 0,1,1,2 for spherical space and -1,1,1,1 for hyperbolic
    space).  A negative number means that the circles are inscribed.
    A few interesting noninteger examples are given, these are unlabled.
    The double bounded example has no spherical or hyperbolic numbers.
    Automatic generation of numbers with -count for outer circle (upper limit
    of 99, since run time goes up polynomially by at least n^3).
  More cleanup of C++ warnings, this time for modules and some glx stuff.
  Removed abort and exit from modes: decay.c, goop.c, glx/tube.c, gears,
    lament.c, moebius.c, molecule.c, sierpinski3d.c, i_spline.cc
    TODO remove exit (or improve) for: glplanet.c, molecule.c
    Tom Schmidt found a goof here for decay.
  qix updated with -solid, got the idea from xscreensaver
  Signal 11: Not compiled with XPM support.-> xpm-ximage.c atlantis, fire,
    sballs fixed for unlikely case of GL but no XPM.
  Removed an extra FD_SET call for UNIX.
  Got rid of of some -Wall, lint, and C++ warnings (mostly the new 5.01 modes).
    ecgs g++ warnings removed from most of the code.  Added xscreensaver's
    gcc -W checks to xlock's configure.  Imakefile and module fixes.
  Modified iostuff.c to handle random selection directory similar to
    VMS.  Found that the bug is really in text3d when reading files like
    wingding.ttf and symbol.ttf.  (See README to handle these files or
    just exclude them).
  scooter now setup for multiscreen.
  Missed a patch to config.h.in for Red Hat 7.1... thanks again to
    Tim Auckland <tda10.geo AT yahoo.com>.
  New "tetris -well", now uses generated images, also cleaned up some
    bugs too.  Bug fix thanks to Tom Schmidt.
  New molecule to solve a random SEGV on Sun thanks to Tom Schmidt
    <tschmidt AT micron.com> (it still crashes on my Sun with OpenGL but
    I think its an isolated case).  Also cleaned up a few mistakes in the
    menus and resource file.
  OSF1_ENH_SEC passwd updated to handle passwords with more than eight
    characters using dispcrypt, thanks to Steve VanDevender
    <stevev AT hexadecimal.uoregon.edu>.
  molecule fix in sscanf thanks to Jouk Jansen.
  scooter updated thanks to Sven Thoennissen <posse AT gmx.net>.
  Fixed generated xlock.hlp.
  gears added -size but defaults to 0, only -planetary will use up lots of
    CPU so added a -planetsize 400 which takes over if -size is 0 (full screen
    if both are 0).

5.01
  molecule, glplanet, and sierpinski3d modes converted from xscreensaver
    thanks to Rolf Groppe <rolf AT groppe.de>.
    VMS changes for gl modes thanks to Jouk Jansen
    <joukj AT hrem.stm.tudelft.nl>.
    Updates to molecule thanks to Rolf Groppe and Tom Schmidt.
  Forte cpp changes for polyominoes.c, tetris.c, and scooter.c
    (mostly just casting malloc).
  "Kick me out" statement is removed since XLock.logoutButtonHelp is probably
    more descriptive.  Thanks to Tom Schmidt.
  Workaround for possible crashing when xautolock calls xlock when its
    already running on Linux.  etc/xlock1.sh thanks to Chima Njaka
    <dream AT linkline.com>.  [Have not observed this on my Sun. DAB]
  texture for atlantis from xscreensaver-3.32 thanks to Eric Lassauge
    <lassauge AT users.sourceforge.net>.
  showfps with some MESA causes problems.  configure changes thanks to
    Tom Schmidt.
  scooter mode added: thanks to Sven Thoennissen <posse AT gmx.net>.
    Sort of like star mode... also took out space from "unstable" and
    may in the future combine them both into star mode.
  kerberos patch from Marc Mengel <mengel AT fnal.gov>.  It no longer rewrites
    the ticket cache with a ticket which may have several options turned off,
    when they were turned on before you locked the screen.
  DPMS patch thanks to Maorong Zou <mzou AT mail.ma.utexas.edu>.  xlock will
    not burn up cpu when screen is blank.
  tetris and dragon leak fixed thanks to Tom Schmidt.
    Memory read fix in tetris thanks to Tom Schmidt.
  dragon mode added.  Just one of Oskar van Deventer's ingenious mazes.
  juggle mode: probablility of adding another ball when juggling 2 balls
    was increased.
  loop mode: Added some flaws, random blue wall spots, to "liven" it up.
  tetris fixes for -well :  1. clearing of multiple rows;
    2. invisible squares when folded on a corner;
    3. Frozen walls are now white.
  xmlock update thanks to Charles Vidal <cvidal AT ivsweb.com>, now with
    a task bar and more toggles.
  -showfps, moebius, and gears updates thanks to Eric Lassauge
    <lassauge AT users.sourceforge.net> and Jamie Zawinski <jwz AT jwz.org>.
  polyominoes memory leaks and array bounds problems fixed thanks to
    Tom Schmidt <tschmidt AT micron.com>.
  nice was causing a stalling problem renice stuff removed thanks to
    Akio Morita <amorita AT meadow.scphys.kyoto-u.ac.jp>
  plain bitmap added for polyominoes and tetris
  polyominoes mode algorithm improved thanks to Stephen Montgomery-Smith
    <stephen AT math.missouri.edu>.  Name changed from pentominoes to
    polyominoes.  New with lots of puzzles (-identical) most of which take
    a while and some one sided and combination puzzles.
    Added -cycles (default 8192) if set to 0 will try to solve puzzle forever
    Changed some wait and delay stuff.  Will now try to display a small puzzle
    if a large one does not fit at all (usually in the password window).
    25 by 22 elevenomino now takes advantage of 180 symmetry.  180 symmetry
    now have their colors cooridinated.
  RedHat configure changes thanks to Tim Auckland <tda10.geo AT yahoo.com>.
  juggle spin now tracks with -count
  xcl fixes thanks to Martin Berentsen <berentsen AT sent5.uni-duisburg.de>.
  text3d fixes to get it to work on my Linux box.  Seems to generate wacky
    file names if there is more than one font in the font directory somewhere
    in iostuff.c.
  SGI fixes thanks to Ed Mackey <emackey AT early.com> needs /usr/lib32 in path
    and must #undef offsetof .
  Dynamic linking (Modules) working again (broken in 5.00).  Also Makefiles
    now handle multi-file modes.
  fire and text3d updates from Eric Lassauge
    <lassauge AT users.sourceforge.net> fire with -count 0 shows rain.
  sco changes to configure MAY have caused problems in slackware starting
    in 4.17.  Backed out the changes and put in a special case for sco.
    where XGetScreenSaver is moved before GrabKeyboardAndMouse
  Fixed cases for -allowroot if root has a null password or does not have
    a password thanks to Stefan `Sec` Zehl <sec AT yoda.fwe.pi.musin.de>.
    Also fixed BSD_AUTH & ultrix in a similar way but not tested.
    (Should VMS have this too?  I know its unlikely for a couple of reasons.)
  galaxy -fisheye lens option thanks to Richard Loftin <rich AT sevenravens.com>.
  xlock allocation updates (color.c, iostuff.c) and text3d updates
    (not complete).  Should there be a standard spot for the text3d font
    similar to the sound directory?.  Ideas welcome.
  commented out #define MODE_dclock_millennium from mode.h in the 3rd
    millennium.
  wator.c an alloc check added.
  tetris now has the newer bitmaps taken from pentominoes mode.

5.00
  Just about all modes are now updated.  Numerous bug fixes added.
    Modes modified for safer allocating.  Part of fix to security flaw.
    xlock was broken by using up all the virtual memory.
    xlockdir may need more work.  Multiscreen fixes added.
    text3d, an unstable C++ mode, needs more work, for the calls to "new".
    Tom Schmidt & Jouk Jansen caught numerous goofs.
  Assorted fixes when doing above like "discrete -mono", and lyapunov &
    mandelbrot now sometimes draw from the right side.  tube, lyapunov, and
    mandelbrot now go through colormap changes forward and backward.
  XFreeColors bug fix in colors.c thanks to Ian Collier
    <Ian.Collier AT comlab.ox.ac.uk>.
  Enhanced xlock/util.c for SunOS 4.1.X and others that needed the
    matherr() function defined.  Now handles acos() and asin() DOMAIN
    error messages. Thanks to Tom Schmidt <tschmidt AT micron.com>.
  SunOS 4.1.3_U1 did not have CLOCKS_PER_SEC defined.  Thanks to Tom Schmidt
    <tschmidt AT micron.com>.
  pentomino mode added by Stephen Montgomery-Smith
    <stephen AT math.missouri.edu>... it includes a scalable 3d look.
    tetris mode now uses and older version of this scalable 3d look as well.
  fire, sballs, lament and atlantis updates by Eric Lassauge.
  SIA passwording for Tru64 help thanks to Octave Orgeron <octave AT sun.com>.
  ImageMagick stuff added by Jouk Jansen <joukj AT hrem.stm.tudelft.nl>
    Setup to go only for VMS.
  SunC++ (Forte 6 U1) compatibility changes.
  sball mode... new GL mode, converted by Eric Lassauge.
  euler2d new mode option, eulerpower Added optimizations, rotation
    of region to maximize screen fill, and new algorithm for solving
    diff equation makes it twice as fast thanks to Stephen
    Montgomery-Smith <stephen AT math.missouri.edu>.
  bubble3d, invert release fix
  fire mode... new GL mode converted by Eric Lassauge
    <lassauge AT users.sourceforge.net>.  Also had a few other mods including
    a solitare and new l-* icons in pixmaps.  Tom Schmidt
    <tschmidt AT micron.com> added a -size option similar to sproingies for fire.
  lint cleanups
  cartoon and raster image removed, bat and bounce modes modified to do
    some of what it used to but not all...
  e-sound can now be turned off thanks to Mark Davies
  life patterns more random
  VMS edits thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  Dpms lib changes for configure for Solaris 8 and XFree86 4.0 (latter not
    tested).  Also added a new Solaris xpm.
  kaleid: new spiral and spots options thanks Robert Adam, II
    <raii AT comm.net> (spiral looks best like:
    xlock -mode kaleid -spiral -alternate -size 20 -count 5  ).
  Configure update for Mesa thanks to Tom Schmidt <tschmidt AT micron.com>.
  closedown patch thanks to Bernd 'Bing' Leibing
    <bernd.leibing AT rz.uni-ulm.de>.
  vtlock patches Eric Lassauge <lassauge AT users.sourceforge.net>.
  Configure update for X11R6.4 and X11R6.5.1.
  Display error should be printed if SYSLOG defined thanks to Alexander
    Elgert <elgert AT rbg.informatik.tu-darmstadt.de>.
  xlock -resources crash fixed on Solaris thanks to Alexander Elgert
    <elgert AT rbg.informatik.tu-darmstadt.de>.
  coredump fix for GL modes cage, moebius, rubik, skewb, and stairs
    and Mesa3.1 thanks to Tom Schmidt <tschmidt AT micron.com>.
  solitare.cc update for disable-interactive.
  xlock -resources crash fixed on Solaris thanks to Alexander Elgert
    <elgert AT rbg.informatik.tu-darmstadt.de>.
  Security Focus found a security bug with display name passing "%d" as the
    display name.  Thanks to Jeremy Buhler <jbuhler AT cs.washington.edu> for
    the xlockmore patch.
  Environment configuration (--disable-interactive) logic was corrected
    (default was ok but you had to --enable-interactive to disable) thanks
    to Tom Schmidt <tschmidt AT micron.com>.
  Man page changes.

4.17
  euler2d, new mode thanks to Stephen Montgomery-Smith
    <stephen AT math.missouri.edu> also some work was done by Tim Auckland
    <tda10.geo AT yahoo.com>.  See euler2d.tex for theory.
  XSync(dsp, True) should not be used in modes as it is hard to log in
    when input password characters are randomly dropped.
  tetris, you can now play with -trackmouse, row clearing fixed, bonus
    pieces.  Added a new look to pieces but must be compiled in with
    -DBM_PLAIN.
  Purify Uninitialized Memory Read found in euler2d, life, and swarm and
   a memory leak in juggle.  SunOS fix for xcl and juggle and gameless
   environment configuration (--disable-interactive) thanks to Tom Schmidt
   <tschmidt AT micron.com>.
  bounce, bat, pacman, and braid should look better for password sized
    windows
  xcl, new mode control-line combat model race, conversion from xscreensaver
    thanks to its author Martin Berentsen <berentsen AT sent5.uni-duisburg.de>.
  multi-byte character support for languages like Japanese.  Fixed for
    bomb.c, nose.c, dclock.c, xlock.c, resource.c, iostuff.c,
    xmlock.c, and xglock.c.  Also added new xmlock/XmLock-jp.ad.
    Thanks to Yokota Hiroshi <yokota AT netlab.is.tsukuba.ac.jp>.
    Maintainer (David Bagley) is a little confused about gettext and
    settext stuff.
  swarm improvements thanks to Juan Heguiabehere <juanh AT wins.uva.nl>.
    Now do not fly at 45 degree angles most of the time and longer trails
    with -size.  Noticed some drawing errors on some Sun displays with
    long trails, probably a Sun hardware problem.
  added BLANK_ONLY #define if you only want the blank mode.
  VMS patch for sound thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  sco patch from Ronald Joe Record <rr AT sco.com>.  Did not take the patches
    straight so there could be some problems still, but tried to address
    the issues.  (etc/play.sh, spline.cc sqr, t3d.c time inc, and sysv5
    build issues).
  configure should now find Mesa as opengl.  Worked before
    for me... but may work for others now too.
  Minor warnings removed various files.
  loop.c now loops can go clockwise too.  The program decides which set of
    rules to use. (Is handedness a requirement for life? (DNA for example
    has right-handed helices.))  Added some debugging for building rules
    easier, hexagonal life more fleshed out so RAND_RULES will work until
    about generation 540.
  ESound updates by Eric Lassauge <lassauge AT users.sourceforge.net>.
  juggle.c: fix bug which caused crashes on some machines, less flashy arms,
    real-time, -pattern random (a true pattern generator), figure moved down
    and scaled, bouncing, more random, one ball juggling should not come
    up, and Sun CC 5.0 errors/warnings removed thanks to Tim Auckland
    <tda10.geo AT yahoo.com>.
  HP problems identified for life.c and shape.c, no code changes since it
    seems to be a strange bug in the HP cc compiler when using both -O and
    -g flags (default).  HP CC warnings removed in solitare.cc, xlock.c,
    resource.c, dclock.c, decay.c, goop.c, ico.c, juggle.c, starfish.c,
    t3d.c, tetris.c, erase*.*.  Updated configure and README for compiling
    and linking through HP's cc.  Still some open problems.
  Some arbitrary sized arrays removed in xlock.c, resource.c, and mode.c,
    do not believe them to be security problems.
  HP_PASSWDETC - due to possible security problems this will no longer
    compile by default, pointed out by Theo de Raadt
    <deraadt AT cvs.openbsd.org>.
  Sun CC 5.0 warnings changes cover all modes with options.
  skewb mode added as an unstable GL mode.  Its in development.  Not much
    yet... I just have the corners drawn so far and no real movement yet.
    Its like a Rubik's Cube but with diagonal cuts that cut through the
    the center of the cube on a skewed angle.
  Buffer overrun security fix does not allow root access directly but the
    encrypted password file may be found in memory.  This vulnerability was
    discovered by Brock Tellier with additional research by Anthony Osborne
    at the COVERT Labs of PGP Security, Inc.  Now allocate memory instead
    of an arbitrary limit on mode name length.
  run mode added, its a hack but it sort of works.  :)
    Also changed resource.c to make a special case for it.
    would be nice if password window worked too...
    Will probably crash and burn on multiscreens, random mode, etc.
    run like:
    xlock -mode run -geometrystring geometry -runprogram xclock
    xlock -mode run -geometrystring g -runprogram xlogo
    xlock -mode run -geometrystring none -runprogram xfishtank
    (May be having a little problem with the none option...)
    _NOT_ a good idea to recursively run xlock
    Not fond of the name of the mode or its option names... so if you
    have better names in mind ... tell me.
    Moved to unstable (due to VMS and -debug problems).
  ico.c most flashing removed.  FullRandom added and now rotates more
    randomly, rotates in the proper direction (looking at it from the top,
    I guess its wrong if you think it should be on a glass table and the
    view is underneath...) and changes when it hits the end of the screen.
    Linewidth and "points" added as well.
  rubik.c update for stickers and cube roundness variables now set in macro,
    keeping it in sync with skewb.c .
  xlock.c, swirl.c, color.c, logout.c, random.c updates to use less calls
    to ScreenCount or ScreenOfDisplay, looking into supporting Xinerama
    (keep each screen independent (see TODO)) and feel these calls would
    cause problems.
  XFree86 4.0 fixes for DPMS and XCloseDisplay thanks to Jeremy Buhler
    <jbuhler AT cs.washington.edu>.  Call to XCloseDisplay was causing
    problems, removing it should not, right?  More fixes for DPMS, this time
    for NetBSD.  Thanks to <hubert.feyrer AT rz.uni-regensburg.de>
  solitare.cc Solaris CC warnings removed and fixed shapes when in
    password window.
  xalock removed from distribution

4.16
  ico.c added double buffering to face drawings.  Run like -faces since the
    default is off (still kind of flashy and added late).  Also removed
    pyramid (drawing errors, count = 7) and plane (boring, count = 6) from
    showing up randomly.
  ant.c noticed triangular ants were wrong, reverted some of the code back
    to 4.14.  Also made ants with neighbors > 6 more rare.
  if both esound and rplay are installed, rplay is configured by default.
  t3d.c converted from xscreensaver thanks to Jouk Jansen
    see t3d.c for notes on what is being worked on...
    Still needs to be scaled to window size.
  bomb.c update to get rid of warning and more 2038 compatible.
  juggle.c thanks to Tim Auckland <tda10.geo AT yahoo.com>.
    Added -pattern option to try out new patterns.  As a juggler myself I
    find this very useful.  Cleaned up some of the release code.
    Now works for patterns with 0's.  Beginnings of a pattern generator
    is in the works.  Maintainer made it a bit more random.
  loop mode 2 bugs fixed for -neighbors 6
    Minimum size increased for mono because of drawing errors
    Should now work for small geometries like 32x32
  image.c update... needs a fast redraw between displays or the original
    version looks better.  Changed image defaults.
  rotor.c changed defaults.  Should behave more like the Sun version.
  rubik.c 2 bugs fixed with one statement.  Now works for -hideshuffling
    when turning on non square sides and checks that it down not make 2
    consecutive 180 degree turns when scrambling.
  genlauncher (stuff to help me maintain this) updated.
  dclock.c updates so y2k sub mode will no longer appear in random mode
    thanks to Tom Schmidt.
  xglock font problem fixes
    esound implements Enlightenment Sound daemon
    vtproc patch (compares of unsigned to negative)
    thanks to Remi Cohen-Scali<remi.cohenscali AT pobox.com>
  new make.com that does not mess up the new users VMS environment
    thanks to Jouk Jansen.
  solitare mode added from the book Object Oriented Programming by Timothy
    Budd.  Added stuff: Mouse interaction, resizing, no initial flashing,
    and now should release memory.
  Added a check for gtkfontsel.h fore configure since glock fails to build for
    me.
  Dynamic linking of modules.  See "Dynamic Linking" in README.
    Now works with xmkmf -a (or configure --enable-modules, Linux only) .
    GL still has colormap problems... do not have a clue.
    random mode fixed so it will not call blank, bomb, or itself by default.
    Problems with multi file (GL) modes, these are temporarily being excluded.
  VMS patches for C++.  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  Various g++ Wall warnings removed.
  xmlock NUMPROCS to low thanks to James Hiller <jhiller AT crl.com>.
  BAD_PAM ifdefs fixed thanks to Naomaru Itoi <itoi AT eecs.umich.edu>.
  dclock HIV adjustment thanks to Kenneth Stailey <kstailey AT primark.com>.
  life3d with -mono should look better.
  genlauncher update with new modes, added xglock to genluancher, modified
    text3d, and modified xglock (a lot).  (Still have a question with
    recent Gtk (at least with 1.2.6): when GtkFontSelection is configured
    the corresponding library is added to xglock's Makefile but it is
    useless with the recent Gtks. It certainly needs to be incorporated in
    the configure program.) Thanks to Eric Lassauge
    <lassauge AT users.sourceforge.net>.

4.15
  -install now works for tetris and kumppa using PseudoColor.
  configure updates to allow use of Sun C++ if g++ is present thanks to
    Tom Schmidt.
  configure updates for g++ not to give warnings or errors about old
    X11 include files thanks to Alexandre Oliva <oliva AT lsd.ic.unicamp.br>.
  star mode: more enterprises and drawing bug on enterprise fixed
    (weirded out when at top or left edge on Solaris).
  general cleanup: xmkmf fixes, gcc warning in text3d.cc removed, and
    delinted
  NetBSD patch for xlock.h thanks to Hubert Feyrer
    <hubert.feyrer AT rz.uni-regensburg.de>.
  dclock now has an led option
  bug mode now has triangular bugs.  Well, they are still square but the
    neighborhoods can now be 3 or 12.  Added some extra genes to make
    odd and even locations independent for neighborhoods of 3 (could not
    figure out neighborhood 9).
  ant mode fixing neighborhood 12 (no neighborhood 9 as well).
  #define BAD_PAM if your system (known to happen on a version of RedHat)
    has a bad version of PAM with shadow passwords thanks to Lincoln Stein
    <lstein AT cshl.org>
  xlock.c FD_SET now add one to get rid of a EBADF (Bad-file-descriptor)
    error on VMS.  Not sure what the consequences are on UNIX... left alone
    there, thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  flag -bitmap core dumps fixed.
  xpm modes: reinitializing just images and redrawing on a colormap
    change is not good enough... I found one needs to reinitialize all the
    variables to assure that the initial info is correct.  For instance, a
    refresh for life mode would come up with a new bitmap where size of the
    bitmap was all wrong.
  Allow for -1 for configuring a button so a button logout can be chosen
    (or not) by a user.  Still can be forced at compile time.  Thanks to the
    Michael Stone (Debian maintainer for xlock) <mstone AT justice.loyola.edu>.
  crystal fix for Solaris.  Lines needed to be drawn without xor or would
    have drawing errors.
  life shooters fixed up for -callahan and -andreen.  Gliders can come from
    6 directions.  Also fixed a deadly core dump or infinite loop where a
    shooter could write a cell out of bounds (in a small window like the
    password window) possibly even for standard life as well (though you
    would need a really small password window).
  life with -fullrandom includes callahan and andreen rules
  eyes on triangular and hexagonal ants, also fixed truchet for triangular
    and hexagonal (+sharpturn) ants.
  config.sub fixed for linux/arm, also a fix for when USE_XLOCKRC nor
    FALLBACK_XLOCKRC is defined.  Thanks to the Michael Stone (Debian
    maintainer for xlock) <mstone AT justice.loyola.edu>.
  eyes grelb now has moving antennas too.  They are down when flying up and
    up when falling.
  text3d and bubble3d now protected from the pipe mode.  Using MesaGL a lot
    of flashing was observed with these modes after the pipe mode was run.
  tik_tak new mode from Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  galaxy authorship for work done fixed.
  life grelbs now have moving antennas.  Its subtle but it HAD to be done.
    One can still bring in images and change the default grelb screen.
  fullrandom now uses xbm half the time for image, maze, and puzzle.
  inline is left defined for C++ if using C++ and C for config.h.in and
    xlock.h.  Trips up new SparcWorks C++ 6.1.  Help from Danny Zerkel
    <dzerkel AT cas.org>.
  invert C++ compile errors for gcc-2.95.1 fixed by Jeremy Buhler
    <jbuhler AT cs.washington.edu>.
  removed numerous warnings generated by gcc-2.95.1 -Wall.  Added statement
    in README about using old X11 include files with g++-2.95.1  (you need
    -fpermissive).
  xlock.tcl update from Charles Vidal <cvidal AT ivsweb.com>.
  bat mode now shows the colored mono images half the time in fullrandom
    thanks to Jouk Jansen.
  dclock HIV adjustment thanks to Kenneth Stailey <kstailey AT primark.com>.
  xglock fixes for Gtk-1.2.3 thanks to Thomas Brupbacher <brp AT cerberus.ch>.
  matrix.c from Jeremy Buhler <jbuhler AT cs.washington.edu>.  Password window
   works much better along with other fixes, see comments in matrix.c .
  configure.tcl update with make, make install, and view in real time thanks
    to Charles Vidal <cvidal AT ivsweb.com>.
  SUNWspro 6.1 i_twojet.h compilation may be fixed.
  imake patch (decay and unstable) thanks to
     <Matthew_Clarke AT mindlink.bc.ca>.
  blank mode: logic was reversed for enablesaver thanks to Eirik Fuller
    <eirik AT netcom.com>.
  Kerberos4 patch thanks to Mark Murray
  FreeBSD patch for disabling FPE (there have been a few requests for this),
    thanks to Thomas Gellekum <tg AT zabagek.ihf.rwth-aachen.de>.

4.14
  Peter Munster <peter AT gmv.spm.univ-rennes1.fr> found a bug with -lockdelay
    and +mousemotion.  Moving the mouse after the delay brought up the
    password window.
  Later, I will probably add "#ident" stuff for all .h files.
    Started but commented out for now since it should be tested more.
  Update matrix in menus, man page XLock.ad, and gui programs.
  matrix: update to make it look more like the movie thanks to Joan Touzet
    <joant AT cadence.com>.
  life: added a P88 oscillator to life.c from Paul Callahan
    http://www.cs.jhu.edu/~callahan/patterns/p1/p1.html and a diagonal
    sparker from Tim Coe
    http://www.cs.jhu.edu/~callahan/patterns/dspark/dspark.html
  thornbird: upgraded from author Tim Auckland <tda10.geo AT yahoo.com>.
  xjack: fix for little window thanks to Jouk Jansen.
  text3d: -message "text" updates from Eric Lassauge and Jouk Jansen.
    Purify errors noted in text3d.cc thanks to Tom Schmidt.
    updates for fortunes from Jouk Jansen
    initialization errors of GLTT library.  Thanks to Jouk Jansen and Scott
    <mcmillan AT cambridge.com>.
  dclock: options y2k and millennium from Tom Schmidt <tschmidt AT micron.com>.
    It uses local timezone and description was cleaned up.  French
    translations by Eric Lassauge <lassauge AT users.sourceforge.net> and
    Dutch translations from Jouk Jansen.  Also Tom patched dclock up for
    NetBSD.
  flag: descriptions and purify errors from Tom Schmidt <tschmidt AT micron.com>.
  -neighbors now a mode option.   -mouse changed to -trackmouse
    -mousemotion was getting picked up instead.  -shift, tshift and -cycle
    combined to -cycle for crystal, tetris, and starfish.
  Multiple options use in modes now possible.  Set up only for -eyes for
    ant and bug.  (Also another major test would be an option that passed
    an integer in).  Code stolen from ParseCmd.c from X11R6.4 source and then
    made so argc and argv are NOT updated.  Jouk Jansen fixed if for VMS.
  Jouk Jansen cleaned up the erase modes.  New option -erasetime added which
    will cause the erase to come to an abrupt end on a slow machine.  Default
    set at 2 seconds.  Also made the erasing smoother...   Also fixed a
    problem on starfish when size became 0.
  Resurrected some old code in ant.c so now ant and bug have an -eyes switch.
    (In the case of bug, it does not let the bug see any better, it just
    shows the direction its facing).  So far its for neighbors = 4 or 8 only
    in ant  ... (and bug also has neighbor = 6 setup).  The graphics leaves
    some room for improvement.
  bug now can have 4 or 8 neighbors and restarts if all bugs die (this did
    not always work before).
  -cpasswd will now work if system uses shadow passwords even if not
    configured with --enable-xlockrc .
  matrix mode thanks to Erik O'Shaughness <eriko AT austin.ibm.com>.
    Miscellaneous patches to this mode (less warnings, unexpected events,
    leaks thanks to Tom Schmidt, Jouk Jansen and myself).  The font seems
    is from X11.
  rubik.c now supports LxMxN cubes where non-square faces turn 180 degrees.
    (nx2n 90 degree turns or known more generally as "banded cubes" is yet
    another level of complication which I will not attempt... yet).
  fizzle and spiral erase modes ported from xscreensaver thanks to
    Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  showmodes.sh fixed... need nawk or gawk not awk
  loop now has a mechanism to realize when the lifeforms are dead.
    Still some futile life is not caught (i.e life that will eventually
    repeat itself).
  A way for users to unlock each others display.  Kind of defeats
    the lock but the unlocked user is mailed and and entry is
    written to syslogd.  Thanks to Mark Kirk <mkirk AT pdi.com> for
    his vizlock-1.0 patch.  Compile-time switch for this is GLOBAL_UNLOCK.
    This is probably full of security holes when enabled... :)
  decay update.  Now does not show user screen by default.  +hide will
    decay the screen.  Also want to update it so that it randomizes the
    position of the screen in the little password window when +hide is used.
  bug mode bugfix (fixed a rare segmentation fault) thanks to
    Mike Coleman <mkc AT kc.net>.
  Cleaned up a warning in invert mode and some extra files.
  mandelbrot update by Tim AuckLand <tda10.geo AT yahoo.com>.
    -binary  Modulates the colors to indicate the "Binary Decomposition"
       of the exterior of the mandelbrot set.
    -dem  Instead of displaying 'escape times', display an estimate of the
        distance between the point to be colored and the set.
  xpm modes should refresh better now when the colormap changes.
  decay and lyapunov taken out of unstable category.
  lament changed for latest MesaGL version, text3d updates for fortunes
    thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>
  Red and Blue swapped for -use3d to conform with my glasses from Sun,
    National Geographic, and Insight.
  Colormap problems fixed when two xlock (with -install) run (this can
    happen if xautolock is running and you lock the machine manually)
    thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>
  New space mode from <Vincent.Caron AT ecl1999.ec-lyon.fr>.  Probably will
    combine the best features of star and space for a new star mode.
    You must compile it in with --enable-unstable even though it seems
    to be stable...

4.13
  kumppa patch (kumppa wrote only to the right quarter of the screen) and
    make.com fix thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>
  lyapunov array bounds read error fixed.
  New option "-/+description" on by default.  Now can turn off description
    of mode above password window.
  crystal and tetris more xscreensaver more compatible (did not test it
    using xscreensaver).
  PAM ignored allowroot option, fixed by Sven Paas <Sven.Paas AT t-online.de>.
  Bernd 'Bing' Leibing <bernd.leibing AT rz.uni-ulm.de> fixed a compile bug
    for logout.c that I introduced in 4.12.
  I got a patch from Andrew Sumner <asumner AT netmap.com.au>.  This provides a
    a way (simple edits to mode.h) to excluding unwanted modes.  This is a
    global change to all modes (especially random) except the blank mode.
    Also affected are mode.c and mode.h.
  Lost bees now caught in flow thanks to original author Tim Auckland
    <tda10.geo AT yahoo.com>.  This caused problems on VMS and probably
    would happen on BSD systems.
  lypapunov mode added.  It is really slow.  The way it is now -count is
    set at 600 (4000 is recommended for a high quality picture but this
    takes a real long time).  So far its only available as a unstable mode.
    Needs a way to speed it up (Sci Am recommends a table of logarithms).
    Now with random forcing strings.  (Hexadecimal representation shown with
    -verbose).
  Fixes for invert for pgcc compiler thanks to Tomasz Sulej
    <tay AT inferno.mikrus.pw.edu.pl>.
  Thanks to Dan Stromberg <strombrg AT nis.acs.uci.edu> for his update to
    mandelbrot.  It now does subregions.
  lament problems with multiscreens fixed and kumppa problems fixed by
    David Hansen <dhansen AT metapath.com>.  He also noticed problems with
    life1d.c (SEGV'd in a malloc from XCreateGC), I have not been able to
    duplicate the problem).
  Found bug in xjack.  When in small window a divide by zero would occur.
    Taken out of unstable.
  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl> his new tetris mode.
    It now extensively remodeled after altris.  Taken out of unstable.
  Thanks to Tom Schmidt <tschmidt AT micron.com> various fixes and leaks to
    rubik, lament, invert, text3d, flow, decay, and tetris.
    Also found problems with gltt which hopefully will be handled by the
    gltt maintainers.
  Thanks to Kenneth Stailey <kstailey AT disclosure.com> for his "hiv" add-on
    to dclock.  I also added my personal hang-ups "lab" (research animals)
    and "veg" (consumed animals).  Upgraded the last 2 to work off current
    year to get rid of arbitrary start year of 1970.
  decay mode from xscreensaver thanks to Peter D. Gray
    <pdg AT draci.its.uow.edu.au> but it does not work yet.
    Proabably will add a nondefault uption where it will use your current
    image on screen to play around with.  New compile-time option to
    activate: "CHANGEME".  Have not tried it yet my machine is real slow.
  Fixed -fullrandom for multiscreens.
  Cool flow update by author Tim AuckLand <tim.auckland AT corp.sun.com> .
    A camera is attached to one of the trained bees and Duffing's forced
    oscillator added.  And multiscreen fix for tetris.
  Configure updates
    Various warnings about shadowing and prototyping removed.  Removed -Wall
    on gcc since it creates too much noise.  Will use it privately though.
    configure now assumes latest version of GL for lament.  configure switch
    does not seem to work on my Sun.  Also added a switch for conditional
    compile and link C++ code but not sure how to get it to work in configure
    (see top of configure.in).  (This introduces problems in make.com which
    will soon be addressed.)  I fixed the compile without --enable-unstable :).
    Took out lament and invert from unstable and put in xjack (partially
    put in before) and tetris (not that its unstable but it needs a lot of
    work).  Put it a warning if your using --enable-vtlock that it is a
    pretty big security hole.
    Update for bsd from Thorsten Frueauf <frueauf AT ira.uka.de>
  New lifeform for loop.  I am not sure if its ever been done on a
    hexagonal grid (Nov 02 1998).  The hexagonal grid to be is slightly
    more life-like since it maximzes a cell's area while minimizing its
    perimeter.  (Currently working on a triangular version in a hex grid).
    Run xlock with the following "-mode loop -neighbors 6".  Its cells use
    6 states.  Beware, this option is very liberal about declaring memory.
    Its not clear whether this lifeform for will survive on the infinite
    plane forever or choke on its own waste.  loop made them more bomb
    proof similar to wire.
  Thanks to <rastlin AT rast.lodz.pdi.net> for pointing out that if DEF_PLAY
    is used it could be made to overflow.  Fixed, not a security issue though.
    Another possible overflow in iostuff.c fixed (Jouk also fixed it too).
  Thanks to <tim.auckland AT corp.sun.com> for his fix for multiheaded bug
    for starfish and link now uses thc CFLAG settings.  There should not
    be calls to release_starfish in draw_starfish.
  Thanks to  Tim Rowley <tor AT cs.brown.edu> for his new mode "invert", a
    demonstration of turning a sphere inside out without  creating  any kinks
    (two surfaces can occupy the same space at the same time).
  wire upgrades made more bomb proof... possibly an issue on a multihead
    monochrome.
  make clean should now work if ../configure is run in say xlockmore/linux.
  Thanks to Kevin Vajk <kvajk AT ricochet.net> for his fix if Xresources
    contains "xlock.mode: Something_really_long..." xlock would memory fault.
  Thanks to Remi Cohen-Scali <remi.cohenscali AT pobox.com> and Eric Lassauge
    <lassauge AT users.sourceforge.net> and Jouk Jansen
    <joukj AT hrem.stm.tudelft.nl> for updates to text3d and configure for
    text3d.  Also "*.h" files upgraded to handle C++ better.
  Thanks to Remi Cohen-Scali <remi.cohenscali AT pobox.com> and Eric Lassauge
    <lassauge AT users.sourceforge.net> for vtlock upgrade.
  Thanks to <todd.miller AT courtesan.com> for his signature patch if
    a file has a NUL without a newline.
  Added -showplanes for hyper.  Option looks real bad now but it may be
    improved upon later.  All the planes that include the origin are shown.
  Port of xjack.c from xscreensaver by request.  Most of the delays removed.
  configure change, added afs for Solaris
  configure change, removed --without-gcc, now just set CC before running
    configure.
  configure changes for app-defaults and X11R6.3
  configure and util.c change for usleep for Ultrix.
  text3d updates for AIX from Jouk Jansen.

4.12
  crypt(3) requires strings to be null-terminated.  The 3rd character
    should be null.  Does not matter for most implementations.  Thanks to
    Bill Fenner <fenner AT parc.xerox.com>.
  configure fix for afs thanks to Charles Hines <chuck_hines AT vnet.ibm.com>.
  configure fix for group shadow on linux.
  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl> for the port of starfish
    and kumppa.  starfish must be enabled (using configure --enable-unstable)
    to use... found unstable on multiscreens and possibly TrueColor.
    Multiscreen error (seen on Xnest and real multiscreens):
      X Error of failed request:  BadMatch (invalid parameter attributes)
        Major opcode of failed request: 2 (X_ChangedWindowAttributes)
    On TrueColor it sometimes says it can not get all the colors.
    Also did the dclock Dutch translation.
  -fullrandom in 4.11 is confusing so I made it a special option under the
    random mode.
  Now can use g++ on Linux.  Working on SunC++.  Many stupid warnings
    removed.
  Thanks to Charles Vidal <cvidal AT ivsweb.com> for his genlauncher.
    This tool (in etc) should help me maintain xlock.  Still needs some work.
    (java, dt stuff)  also in xalock and xmlock the #ifdef stuff gets
    stripped.  Also created a new configure.tcl .  Also did the French
    translation for dclock (accents were not available at the time).
  goop -count now has some effect.
  kaleid option for qix.
  Allow customization of .Xresources.  If using configure uncomment
    CUSTOMIZATION  part after running configure in config.h .  Thanks to
    Robert Bihlmeyer <robbe AT orcus.priv.at> .  I personally would rather
    "xlock -display whatever:0" to work as it does in the original.  If
    someone else thinks this default should change ... let me know.
  Thanks to Tom Schmidt <tschmidt AT micron.com> various fixes and purify report.
    Patch for root with no password... not allowed to unlock... could this
    be a problem?  Added verbose fix to color.c stuff.
    Also several fixes for bubble3d on SunOS, now considered stable.
  kumppa leak fixes and starfish leak fixes  (one starfish leak remains?)
    Thanks to Jouk Jansen and Tom Schmidt for finding -bitmap leaks.
  Thanks to Remi Cohen-Scali <remi.cohenscali AT pobox.com> and Eric Lassauge
     <lassauge AT users.sourceforge.net> for:
    vtlock: xlock now VT lock switch when using -vtlock option. This is
          enabled for linux with the --enable-vtlock option of configure.
          This may or may not work on some versions of Linux, for example
          it does not work on the maintainers machine. :(   (His latest
          did not make it in this release but tries to take care of the
          potential problem of "locking" a vt while another one is active
          (if using xautolock and two X servers for example).)
          I recently changed this option from lockvt to vtlock so I would
          not be confused.
    configure: add autodetection of MesaGL links (pthread/glide/vga)
          Autodetection of pthread caused xlock not to run for the maintainer
          so it was commented out.
    language: configure can select the lang used for elapsed time display.  A
          grammar/syntax problem have been fixed in French language.
          The option selecting the language is --with-lang in configure.
    xglock: configure can search for GTK+. Makefiles are now generated in
          xglock if GTK+ is found. xglock have been adapted to gtk+-1.0.4.
          It is under development.
    ORIGINAL_XPM_PATCH:
          the ORIGINAL_XPM_PATCH define enabling the pixmap icon mail can
          be activated in configure with --enable-orig-xpm-patch option.
    bubble3d: this mode now has now randomly colored bubbles.
    text3d: compile with -DUSE_TEXT and GL but need g++ and the gltt lib.
          configure not set up for this so edit the generated Makefiles.
          This version works better but the Animate function needs still
          some work.
  More language stuff added in resource.c .  It needs a few more German
    translations and other languages too (besides French and Dutch).
    To do more, each mode description would need to be translated.  I
    currently think that would be hard to maintain, but I will not turn
    down a patch (to mode.c) on this if someone really wants to have this.
  atlantis should no longer flash.
  Fix for shadow passwords if the user no longer exists.
  popex (population explosion) and forest (tropical deforestation) options
    for dclock... really depressing.  See dclock.c for where I get my
    numbers.
  Fade out converted from xscreensaver by Jouk Jansen.  Still to do:
    -fade out the session at xlock startup
    fixed one, squaretate to draw with more granualarity so it would
    not be so slow on my slow machine.
  Update to crystal by  Jouk Jansen to cycle colors like starfish.  (Name of
    option changed from -cycle to -shift so +cycle would still work on
    starfish.  Next version the maintainer hopes to have time to fix this...)
  hyper -use3d.  Too bad humans only have 2 eyes...  otherwise I would add a
    -use4d option and have it default to use green cellophane
  -popcorn option on hop works but the output seems different then a picture
     from my copy of Scientific American.
  mandelbrot update by Tim AuckLand <tim.auckland AT corp.sun.com>
     changed from cut-off radius from 2 to sqrt(13) to improve resolution.
  Fix for julia has some initialize errors... pixels in upper left corner.
  Fix off by one error in triple_wipe.
  Fix for -fg red -bg green ... fading does not work here.
  starfish taken out of unstable since it is fixed for multiscreens.
    Similar changes for kumppa and crystal.
  Fix for the following:
    xlock -mode random -modelist image -bitmap /nonexistent/
      xlock: caught signal 11 while running image mode (uid 561).
    xlock -mode random -modelist image -bitmap /nonexistent
      could not read file "gublety-gook"
  Converted Jamie Zawinski <jwz AT jwz.org> lament to xlockmore.
    This mode I just got working, so you need to configure with
    --enable-unstable .  Needs OpenGL1.1 ... configure and Imakefile assume
    it for now.  Beware of opening doors...
  Also stole Jamie Zawinski's neat depend/distdepend stuff.  This gives
    errors if setup on linux.  If setup on Sun (make distdepend after a
    normal configure) it seems fine.
      makedepend: warning:  ../xlock/xlock.c: 13:
        # error architecture not supported by the Linux C library
  Took out xalock from building by default.  configure gets tripped up
    by a Sun include file of the same name.
  kumppa now changes direction by -cycles 1000 .
  Fixed up distdepend and reorganized dependencies to be the minimum necessary.
  crystal, starfish, kumppa fixes for -mono and +install .
  automata modes to have borders when -neighbors 4 or 8 since the others have
    them.  ant's squares should really be square now.
  Thanks to Marcelo F. Vianna <mfvianna AT centroin.com.br> for his new version of
    rubik.c .

4.11
  atlantis mode thanks to Eric Lassauge <lassauge AT users.sourceforge.net>
    ported from Mark J. Kilgard of Silicon Graphics.
  kaleid thanks to Robert Adam, II  <raii AT comm.net>.  -fullrandom
    capability added thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
    kaleid is a totally new version.  Make sure you reinstall XLock.ad.
    May resurrect the old kaleid in qix?
  bubble3d mode thanks to Richard Jones <rjones AT orchestream.com>.
    Not sure about the name... bubble is taken and bubbles is taken in
    screensaver ... original name was glbubble.  Seems to give problems
    on SunOS so it must be enabled (using configure --enable-unstable)
    to use.
  hyper mode thanks to John Heidemann <johnh AT isi.edu>.  This was built
    independently from hyper.  I did not understand some of the color stuff
    and through it away in the name of speed (quick coding and quick exec).
    Took move_line from the xscreensaver port.
  -fullrandom added to mountain, triangle, and petal for wireframe the first
    2 include a joke... mixed wireframe/solid
  Yet another try to solve the  colormap problems with fvwm and tvwm.
    New compile-time option for this COMPLIANT_COLORMAP.  Currently this
    is off by default since this fails on TrueColor.  (See config.h[.in]
    for more info).
  Fixed white background on goop with +install.  Also some day I have to add
    back some of its xscreensaver options.
  Thanks to Charles Vidal <cvidal AT ivsweb.com> for his improved
    xlock.tcl .  He is also starting a configure.tcl... do not expect it to
    work yet. ;)
  Thanks to Tom Schmidt <tschmidt AT micron.com> for fixing up the mailCmd to a
    later point in the password screen since it could take several seconds
    to run with the mail automounted.
  Thanks to Jamie Zawinski <jwz AT jwz.org> ansi and mono fixes for flow.c.
    Jamie also fixed global -no- options in xlock when compiled under
    xscreensaver.
    Fixed some compilation problems when compiling in xscreensaver.
    glx stuff is now in sync with xscreensaver-2.17.
  multiscreen fix for DT.  Sometimes it uses the DefaultScreen and sometimes
    it uses all its screens.
  Bug fix, food for bugs not updated.
  configure fix for Linux and shadow thanks to Robert Bihlmeyer
     <robbe AT orcus.priv.at> .
  new ant.  Size does not get too small except if the user wants it or there
     is only a small space (iconified).  -sharpturn option mainly for
     neighbors = 6 but also works for 12.  This new option easily degenerates
     bees/ants to create highways.  Also worked on getting the truchet
     lines better... still not perfect.
  fullrandom option now defaults on... this will probably cause confusion
    when certain options are selected but most users probably do not run it
    with options anyway.
  batchcount deprecated ... it still works but not as a resource.  Use
    count.
  xscreensaver/xautolock problem found.  If using a xlock executable with
     xscreensaver see xlock/vroot.h .
  lisa looks a little better.  I messed up the refreshing... oops.
  If saturation not 1.0 it will run out of colors frequently if the colormap
    is constant... I now retry it as 1.0.  (No COMPLIANT_COLORMAP).
  Fix for BSD_AUTH thanks to Douglas Berry <doug AT monk.cancom.net>.

4.10
  goop mode added from xscreensaver.
  color background stuff changed around... did I get it right yet?
    I think the biggest outstanding problem is fvwm[2] and that I may not
    have much control over since it does not let me install the colormap for
    the whole screen.
  color background reset for shape so it does not screw up other modes.
  Solaris configure fixes by Tom Schmidt and David Bagley (Imakefile may
    need some work)
  xlock.c and random.c modified to allow -inwindow to pop up only once in
    a multiscreen and work from :0.1.
  Release code patches for bug, life, life3d, triangle, voters, and wator
    to get it to work with the new -inwindow.
  Thanks to Eduardo Santiago <esm AT lanl.gov> for his -enablesaver fix broken
    probably in 4.06.
  -inroot refresh problems, clear window was added to refresh
    ant bat bouboule bounce braid bug clock dclock deco fadeplot flag forest
    galaxy grav helix ico image julia laser life life3d lisa lissie loop
    marquee maze mountain nose pacman petal pyro qix roll rotor
    shape sierpinski spiral star swarm swirl triangle
    vines voters wator wire world worm
    Also debounced some modes since they now need a "painted" variable.
    ant, ball, bug, crystal, helix, life, life3d, lissie,
    petal, voters, and wator.
      deco, marquee, nose could be better too.
  debounced puzzle.
  bug more interruptible.
  xmlock and xalock patched to display black screens.
  "xlock -sound -lockdelay 1" fixed so there is no overlapping sounds.
  Thanks to Michael Duane <mduane AT metapath.com> for his check mail patch.
    New options added -mailCmd,  -mailIcon, -nomailIcon.  A sample
    check mail is supplied (by Michael) in etc .
    Original patch used XPM.  The code is still there under
    ORIGINAL_XPM_PATCH, uncomment in xlock/mode.h.  This has some colormap
    problems.
  Thanks to David Leigh <dleigh AT us.ibm.com> for his AIX DCE password patch.
    Suggestions in README for compiling.
  Replaced MI_WIN_* with MI_* .
  Changed many references from batchcount to count.  -batchcount is still
    used... could not figure out how to have them both work.
  xlockmore can now be is dropped into the main xscreensaver directory and
    have its modes compile for xscreensaver.
    Sync'ed up these modes from xscreensaver-2.16:
      ant bouboule braid drift fadeplot forest galaxy grav
      hop[along] ifs julia laser lightning lisa lissie mountain
      penrose rotor sierpinski slip sphere spiral strange swirl
      triangle vines worm (flag has diverged)
    Various new line width improvements from jwz:  braid size option,
    rotor size option, and lisa randomized linewidth.
    Currently all xlock modes (but random) will compile in xscreensaver.
    mandelbrot and tube will NOT run yet.  The xpm stuff and program
    option of marquee and tube still need to be improved too.
    Could not figure out how to get -no-fullrandom to work if
    "*fullrandom: True \n" is set in the mode.
    xlockmore is dropped into the main xscreensaver directory.  See README
    in xlockmore/xscreensaver for more info.
  Split out utils.c stuff to util.c random.c automata.c iostuff.c.
    Also changed  visual.c to vis.c .  This is all in the name of
    more xscreensaver compatibility.
  Name changes
    -imagefile -> -bitmap  xscreensaver capability...
    -messagefont -> -planfont  probably not used too much anyway
    -mfont -> -messagefont  goes along with -message...
    (This is not compatible with xscreensaver but true compatibility required
    too many changes...)
  Thanks to Tim Auckland <tda10.geo AT yahoo.com> for 3 new fractal modes
    discrete, flow, and thornbird.  Also wrote a wrapper script that
    may give better performance when using java or netscape... set
    etc/xlock.sh .  Also -name fix.
  Problem with bomb on 24 bit screen on Solaris 2, same as deco problem,
    "fixed".
  Multiscreen error when -geometry is used.  Password screen size would be
    set to the last screen, fixed.
  Thanks to Yoav Yerushalmi <yoav AT mit.edu> for Kerberos fix.
  -wireframe options added for mountain, petal, and triangle.
  bad memory reads fixes on ant and thornbird thanks to Tom Schmidt
    <tschmidt AT micron.com> and Purify.
  Fixed a bug with penrose where it would stop drawing if clicked a few
    times.
  DPMS (Display Power Management Signaling) Monitor patch thanks to
    Matthew D. Rench <mdrench AT mtu.edu>.  I guess it would make sense to
    run xlock with +enablesaver when your using these new options.
    Info for man pages obtained from http://www.randomc.com/~dperr/dpms.htm .
  Fixed program default message bug for marquee and nose when compiled in
    xscreensaver.
  Thanks to Charles Vidal <cvidal AT ivsweb.com> for his improved
    xlock.tcl .

4.09
  Fixed some white background problems.
  Fixed flag free bug.  Showed up on Linux and possibly to a lesser degree on
    all BSD varieties.
  shape "fix" on 15/16 bit displays on Linux.  Took away stippling on Linux.
    It will be back when it does not crash.  Also added borders and shadowing
    on shape.
  Thanks to Yoav Yerushalmi <yoav AT mit.edu> for adding new resources:
    logoutCmd, startCmd, and endCmd.  Also patched up the .xlockrc stuff
    as a fallback when using Kerberos.
  Thanks to Alexander Knoll <alexander.knoll AT hl.siemens.de> for adding a patch
    for xlock to switch to blank mode if a SIGUSR1 is detected and back if
    SIGUSR2 is detected.  This is useful if one wants to used a load sharing
    facility and does not want xlock gobling up precious CPU time.
  qix modified to handle polygons.  geometry.c merged in with a -complete
    option (and with -fullrandom).  geometry.c removed.
  resource.c changed.  Null strings are no longer malloc'd.  life, life3d,
    getText (used in marquee & nose) fixed to compensate for this.  This
    fixed an annoying but tiny (1 byte) leak.
  ncolors on all modes should now be 64.  There may be a problem on linux
    (involving libc6?) BadValue on X_PolyPoint.
  Added LESS_THAN_SOLARIS2_5 switch so that gcc could compile xlock.c.
  xlock -help should not need -remote option if running xlock remotely.
    This was moved for the modules stuff that I have not got working.  This
    bug is still present for modules, if it works.
  Implemented USE_MULTIPLE_USER for acceptance of multiple passwords to unlock
    similar to USE_MULTIPLE_ROOT.
  +install now works again... broken in 4.08.  I recommend -saturation 1.0
    when running in random mode so you get less mono modes.
  Weeding out of ".", ".." `files' fixed for imagefile in UNIX.
  -sequential now goes more alphabetically.
  SYSV patches for VMS thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  Image directories no longer need a final slash for -imagefile.
  Fix when compiled with logout button and used in dtsaver on a 24 bit display.
  Finally fixed puzzle mode when moved off screen as in -debug or -inwindow.

4.08
  Patched up imagefile
  Took out MAXSCREENS.  No multiscreen limit now.
  Took out NUMCOLORS.  Put in ncolors as a mode option, range 2-200
  Took out initial point in qix in the top left corner.
  Fixed closedown logout.  Display was shutdown before logout was running.
  New crystal.c thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl> and fixes
    for AIX and VMS.
  Fixes for TrueColor.  Major bug fix for writable modes and TrueColor.
  -imagefile for pacman and eyes.  So far there is no xpm or ras.
  Fixed up configure/Imakefile for Motif2.0.
  Thanks to Charles Vidal <cvidal AT ivsweb.com> for his improved
    xalock and xmlock.  His new improvements use the -parent option.
    That option does not appear to work for multiscreens, but I think
    the fix should be on the xlock side.
  Removed some gcc-2.8.0 warnings and a static variable in draw_flame
    (usually not multi-screen friendly).
  Fixed white screens on mono.
  make.com fix for clean thanks to to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  bouboule.c and rotor minor initialize fix
  coral, swirl, flag, braid, and strange leak and bad memory reads fixes
    thanks to Tom Schmidt <tschmidt AT micron.com> and Purify.
  Thanks to Hiroshi Kawaguchi <hirosi-k AT is.aist-nara.ac.jp> for his
    multi-byte character patches for password prompt and marquee mode.
    Set up using configure --enable-use-mb.
  Lint warnings removed.
  Flag patched yet again.  Default set back to xbm for image to get rid of
    the annoying bad colors on the message part.

4.07
  Added ELF patch I received from Adam P. Jenkins <apj AT twain.oit.umass.edu>
    in January 96.  At the time it seemed like a lot of work to add and
    maintain since I could not test it.  It needs more work to get it running.
  Changed back some code in resource.c to allow for machines that have
    dynamically allocated IP addresses.  Not sure if this was necessary now...
  Added patch for SafeWord, not tested.
  took out warnings about strdup in flag.c
  removed g++ warnings in cartoon, crystal, mandelbrot, tube, and random.
  Added hexlife rules to life, they both have known glider lifeforms...
    (-callahan and -andreen options).  The callahan option is more developed.
    May yet add gliders coming from top and bottom.
  Changed around sigset_t on the Sun.  It may give lots of warnings on the
    Sun but I think it will always compile this now.
  -imagefile for each mode like batchcount.
  Fixed swirl, tube, and mandelbrot with BadValue in X_QueryColors on
    Solaris2.6.  tube and mandelbrot fixed when static colormap.
    This "fix" probably caused swirl to error out with -forground gray (or
    -background) -install, this was then fixed..
  Changed default for -usefirst .  The default is now on.  I am amazed that
    I have never done this before.
  configure sometimes mistakenly sets up to use matherr then utils.c errors
    out.
  Thanks to Charles Vidal <cvidal AT ivsweb.com> for his improved
    xlock.tcl and a more wavy flag.
  fadeplot was blank on TrueColor and there was a dot in the upper left.
    This no longer happens but it no longer fades either.  Added more
    variablity and release code.
  deco fixed some round-off errors (if width or height odd).
  ant's truchet mode turned off if size is small.
  GL modes are not be compiled in at all if there is no GL, same for
    cartoon and xpm.
  sproingies, pipes, and gears caused a Bad match on X_GLXMakeCurrent
    after their release code is run and am running it remotely.
  deco was weird on TrueColor (Ultra2).  Strange repeated rectangles appear
    in the first square (ie. top left) about 1/4 of the time.
    gl modes are not always cleared when completed.  XClearWindow does not
    work all the time. This led to MI_CLEARWINDOW* macros defined in mode.h
    and used in all modes.
    (Fixed flame, turtle, and petal are blank on mono and with -mono ).
  MI_PAUSE removed from all modes since it does not work on multiscreens
    especially with above patch.
  Modified xlock to give a blank screen the glx modes when GLX is not
    supported by the screen.  This is good for multiheaded machines with
    a monochrome and OpenGL.
  Separate LDFLAGS in configure for xlock, xmlock and xalock.
  -mode ant,bug is an error but should not Segmentation Fault.  Related to
    the new -imagefile mode option.  Fixed thanks to David Hansen
    <dhansen AT metapath.com>.
  Interrupts for short delays thanks to William Shubert <wms AT hevanet.com>.
    Delay for bouboule and swarm changed to compensate for this.
    Currently backed out since it causes problems with random mode,
    (USE_NEW_EVENT_LOOP).
  If -duration is fast, password screen now gets the text info about the
    mode updated.
  -neighbors option for wire mode.
  Stippling for demon mode on mono.
  Use of union for neighbors info.
  Thanks to Tom Schmidt <tschmidt AT micron.com> for adding "default" as a
    visual name.
  Separated escher into cage and moebius.
  Changed the compile-time option USE_MOUSE_MOTION to a run-time option
    -mousemotion.  Added a new compile-time option -DUSE_WINDOW_VISIBILITY,
    which was suggested a while back (Heath Rice <rice AT asl.dl.nec.com>),
    allows one to have a window that sits on top of xlock. (This window must
    pop itself in front if it gets a visibility event).
  If xlock fails to get the encrypted shadow password it now attempts to use
    the -cpasswd option, failing that $HOME/.xlockrc, failing that it queries
    the user.  This way, you do not need to choose between to have it
    as a compile-time option.  This is only used as a fallback.  -DUSE_XLOCKRC
    still remains in case that default is preferred.
  Thanks to Charles Vidal <cvidal AT ivsweb.com> for his new mode, bubble.
  Solved a bug in flag involving raster files.
  -garden mode for daisy.
  Thanks to Marcelo F. Vianna <mfvianna AT centroin.com.br> for his early
    version of the stairs mode, ala Infinite Stairs.  It needs a bouncing
    ball on the steps.... work in progress.
  Configure changes for xalock, rplay, and nas.
  fullrandom stuff for ant, bubble, daisy, and penrose.
  AIXV3 fix for flag.
  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl> for his patches to
    utils.c that allow imagefile to work with the random mode and can now use
    wild cards to choose specific files in a directory.
  Thanks to Leonid V. Kalmankin <leonid AT cs.msu.su> for his patch for the
    3Dfx card.  It is not autodetected so FX must be uncommented in
    config.h.in before running configure (or iconfig.h before running
    xmkmf -a ).
  -mode life -rule and -mode life3d -rule3d format changed.  It now
    allows greater flexibility.  Groupings of symmetric neighbor patterns
    are also possible in life.  So far this is only available for hexagonal
    life.  Add -lifefile and life3dfile for the life and life3d.
    They pretty much follow the simple #P format of xlife.
file: glider.life (-rule S23/B3 -neighbors 8)
#P -1 -1
***
..*
.*.
file: glider.hlife  (-rule S2b34/B2a -neighbors 6 (-callahan))
#P -2 -2
    . . O .
   . . . O
  O . . O
 . . . O
. . . O
file: glider.3dlife (-rule S45/B5)
#P -2 -2 -1
.**.
*..*
*..*

....
.**.
.**.
  Added a bit more color to pyro.
  Fixed MesaGL on TrueColor for modes with MI_WIN_DEPTH in them.
  KRB fixes thanks to Robert L. Sink <sinkr AT cbl.umces.edu>.
  PAM support thanks to Michael K. Johnson <johnsonm AT redhat.com>
   and Marc Ewing <marc AT redhat.com>, use --enable-pam .
  Obscure multiscreen bug fix
     xautolock -time 1 -locker "xlock" &
     xlock/xlock -mode qix -saturation 0.4
    Caused a bad window because of a bad property.  This was traced back
    to vroot.h... this stuff does not need to run unless inroot is true.
  Fixed Makefile.in for BSD... hopefully.
  Visual fix if GL is not installed.  Still not exactly right for xpm stuff.
  tube and mandelbrot sometimes did not call XStoreColors correctly.
  star fixes for multiscreens.
  Will not exit out if someone did not set up /etc/hosts file correctly.

4.06
  Fix for floating point error in cartoon for DEC UNIX.
  Assorted minor fixes.  Imakefile and Makefile.in fixes.
  Thanks to Mike Kelly <tfsmiles AT ecst.csuchico.edu> for fixing xlock on
    xterminals (caused a buffer overrun ... not enough memory malloc'd).
  In bug, bugs are now stippled on monochrome.
  -modelist allxpm and -modelist allwrite for writeable colormap modes
    added.   I kept it mutually exclusive... even though allxpm modes use
    a writeable colormap (I'll change this if anyone thinks that it is
    confusing).
  Added a feature to my_fopen that allows creation of a new file.  Needed
    for .xlockrc .
  Added DEC, IBM, and SCO bitmaps and pixmaps.
  Writeable colormap conflict should not bomb out xlock.  There will be
    no graphics.  Not sure if the problem is in MesaGL but there is no
    problem in OpenGL.  -debug will print out the error when hit.
    This is fixed in MesaGL2.5 when its released.
  Rearranged XVisualInfo and context stuff.  Should work the same...
    May cause leaks if using < MesaGL2.5.  Hoped that it would fix above
    problem... it did not.
  Thanks to Dan Stromberg <strombrg AT nis.acs.uci.edu> for mandelbrot.
    Thanks to Tom Schmidt <tschmidt AT micron.com> leak fix.
  RAS and XPM added for flag, maze, life, and life1d.  Probably opened flood
    gate for leaks...  flag and scream.ras does not work well yet...
    probably some padding problem...  life and life1d still default to
    bitmaps.
  +resetsaver option added.  If using DPMS, XResetScreenSaver resets
    power timeouts, which may not be desirable.  -resetsaver is on by
    default.  Thanks to Michel Eyckmans <eyckmans AT imec.be>.
  New Prisoner's Dilemma automata mode, "dilemma".  Thanks to Tom Schmidt for
    his leak fix.
  New deco and coral modes stolen from xscreensaver.
  Hopefully fixed font bomb on bomb.
  New Purify logs from Tom Schmidt.
  Fixed exposures on dclock, ifs, nose, and strange.  It could still be a
    problem on coral if your machine is slow.  If you use -lockdelay it may
    have to be lengthened.
  Fixed some flashing on multiscreens for ifs and strange.

4.05
  Fixes for bat and ifs leaks.  Thanks to Tom Schmidt <tschmidt AT micron.com>
    for his purify report.
  Fix for galaxy (floating point error on FreeBSD) with help from Bruce
    Evans <bde AT zeta.org.au>.
  Changed configure so that -lgl is only for IRIX.
  sierpinski in 3D thanks to Antti Kuntsi <kuntsi AT iki.fi>.  -size 3 it will
    have 3 corners and -size 4 it will have 4 corners... all others cause it
    to pick 3 and 4 randomly.
  Thanks to Tim Mooney <mooney AT dogbert.cc.ndsu.NoDak.edu> for his patch to
    configure for Digital Unix and using prefix to set the app-defaults
    directory.
  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl> for his new crystal.c.
    Now all orthogonal unit cell crystals are represented (quasicrystals
    are not).  Fix for bad memory access and refresh.
  Thanks to Charles Vidal <cvidal AT ivsweb.com> for his improved
    xlock.tcl.
  Modified Makefiles.in used by configure.  A make can be made in xlock and
    modes/gl directories.  Should be OK now with BSD make but I have not
    tested it.  Also added setuid and password stuff.
  XPM MesaGL conflict lock pick solved by having the iconified window to have
    fixed colors.  This was added to fixedColors in utils.c .  Other writable
    colormap modes were updated to handle this.  This also solves the problem
    of the "black" password screen not being black.  This probably does not
    fix the real cause of the problem...
  Better color handling of OpenGL.  Still not perfect.  GL modes may look
    bad in PseudoColor and tube and swirl (and bat, image, puzzle, and
    cartoon with XPM) may look bad in TrueColor at least on a 8 bit display.
  Many thanks to Jongki Suwandi <Jongki.Suwandi AT eng.Sun.COM> who figured out
    what -dtsaver does and how to use it.  See README.
  Fix so that when DT changes the modes on xlock it does not cause errors in
    the errorlog.
  Pipes in the pipe mode going towards "near" and "far" should no longer be
    invisible in OpenGL.
  Put more shapes in tube.

4.04
  Thanks to Marcelo F. Vianna <mfvianna AT centroin.com.br> for speed ups in morph3d
    Created the great new rubik gl mode.  D. Bagley made it a lot more
    unreadable but also made it NxNxN.
  fract name changed to vines. If batchcount is zero then each iteration
    will produce a complete vine, otherwise it will produce a portion of
    the vine.  Nice values for growing the vines to be -batchcount 100
     and -delay 50000.  Thanks to David Hansen <dhansen AT metapath.com>
  Thanks to Tom Schmidt <tschmidt AT micron.com> for his password window
    patches for server name and mode descriptions.
  Thanks to Christian von Roques <roques AT pond.sub.org> for his galaxy speed
    ups.
  Thanks to John Gotts <jgotts AT engin.umich.edu> for his syslog display patch.
  Changed flag to allow it to change between image and message.
  New directory structure.  configure still needs some more work to get
    it to make from any internal directory.  configure should now get the
    correct xapp directory.  Many "ideas" were taken from Jamie Zawinski's
    xscreensaver.  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl> for his
    new make.com.
  puzzle should no longer bomb out with BadMatch if in a window.
    Thanks to David Hansen <dhansen AT metapath.com> for handling the -inroot
    case.
  Thanks to Charles Vidal <cvidal AT ivsweb.com> for starting 2 more gui
    interfaces xalock, this time using Athena and libsx, and etc/xlock.java.
  -parent <window id> patch to be used with -inwindow option.  This option
    will be used on the GNOME project (http://www.gnome.org).  Thanks to
    Radek Doulik <doulik AT karlin.mff.cuni.cz>.
  Added 12 and 6 bit for defaultVisualInfo.
  Moved config directory to etc... imake could get confused.
  Fixed color.c so that it could handle the case when all colors are used up.
  sphere.c now can have the shadow in 4 different locations... it is randomly
    chosen when init_sphere is run.  Fixed a bug if sphere was restarted.
  Fixed sierpinski and wire if there are only a few colors.
  Fixed escher.c it had FALSE instead of "False" in 2 places and was
    causing problems on 64 bit Digital Unix.
  Fall throughs in case statements found on hop and ant.
  hop would sometimes give a blank screen for a nonexisting hop.
  hop now centered and scaled better.
  ifs and strange are now reinitialized when refreshed... the size
    of the window could have changed.
  Ideas in DT workaround in README from Wade Wegner
    <wwegner AT surveyor.aae.uiuc.edu>
  munch lifted from xscreensaver.
  Thanks to Eric McDonald <e AT aw.sgi.com> for his help on the SGI 12 bit
    display.
  Imakefile patch for SCO and Sun with OGL.
  Configure patch for Purify.
  Dave Prosser <dfp AT sco.com> SVR4 random image patch.
  allautomata, allspace, allgeometry add.  allstandard taken away.
    This also puts stuff back in alphabetical order except the special
    modes.
  Password window username now displays host and display info.  Display info
    only displayed if significant.
  puzzle patched to handle bomb when batchcount was negative.
  inline patch if set -ansi -pedantic .
  More xscreensaver compatibility.  flag and others need a bit more work.
  Added eyes and swarm mouse options, very similar to the julia code.
  Patch for Solaris2.6 .
  Fix, sometimes flags would have enough room to fly.

4.03
  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl> for VMS GL patches and
    new mode, crystal.
  Thanks to Ed Mackey <emackey AT early.com> for taking out some common code
    to all GL modes and placed it in utils.c.  Also found BIG leak in
    gears.c, rewrote sproingies (now handles more sproingies and have
    better explosions and not have 2 sproingies generated from the same
    spot at the same time).  Added many neat things to pipes.
  Thanks to Tom Schmidt <tschmidt AT micron.com> for his memory leak fixes
    to xmlock.c and option.c.  More unresolved leaks and uninitialized memory
    reads are noted in the source.  Handle matherr in utils.c.
    Fixed uninitialized memory reads in pyro and worm for -use3d.
  Thanks to Marcelo F. Vianna <mfvianna AT centroin.com.br> for speed ups in all gl
    modes.  Removed conflict between pipes and superquadrics & sproingies.
    Pipes to handle -inwindow better.  Created the great new escher gl mode.
  Thanks to Jamie Zawinski <jwz AT jwz.org> for
    VMS hlp capability make -f Makefile.in hlp
    braid spin can go the other way, flag font and image capability,
    ifs and strange less flashy, julia mouse option, sphere draws all 4 ways
    swirl debugged on 24 bit sgi... it needs 32 bits
  Thanks to Curtis Larsen <larsen AT rtp3.med.utah.edu> for a new improved
    bounce mode when run in -inroot.
  Thanks to Jeff Epler <jepler AT inetnebr.com> for less tight turns in pipes.
  Thanks to Scott Carter <scarter AT sdsc.edu> for check that only regular files
    are read in the .xlockmessage, .plan, .signature.  (Tom Schmidt did this
    for all fopen calls except one :) ).
    Tabs here are now interpreted.
  Jason Larke <jlarke AT psc.lsa.umich.edu> for his AFS patch so nonsense lines
    in passwd or shadow do not cause the xlock to barf.
  release code now called in finish originally written by Ron Hitchens
    <ron AT idiom.com>.
  XSetScreensaver now only called if locking the screen.  Also able to turn
    it off now in blank mode.
  starting to remove the dependencies on MAXSCREENS and NUMCOLORS
  bigcrypt added for HP secure passwords.
  `xlock -mode spline -cycles 1 -erase` fixed.
  boubloule bug solve using -use3d.  all3d modelist option added.
  New mode added, voters.
  life3d.c leak fix.
  Lifeforms added P3 Question, P8 Asym, and P8 Smiley added from
    http://www.halcyon.com/hkoenig/LifeInfo/LifeInfo.html
    life.c can now handle -neighbors 3, 4, 6, 8, 9 and 12.  New pointer
    algorithm.  Hexagons for life, demon, & ant now look better.
    wator.c can now handle -neighbors 3, 4, 6, 8, 9 and 12.
  hop fix for multiscreens.  Most of xmartin2.2 algorithms stolen.  xmartin
    was written by Ed Kubaitis <ejk AT ux2.cso.uiuc.edu>.
  a swirl fix for multiscreens... one screen if larger than the other would
     not reach its maximum size.
  xmlock string options are now all in quotes.
  bitmaps, pixmap and flag links are now no longer destroyed with a make
    clean.
  stderr is used for the VERBOSE stuff unless its informational stuff about
    the mode as in ant and life*.
  tube no longer changes fg and bg.  Should no longer bomb out on TrueColor.
  Can now use Makefile to adjust SYSLOG stuff.
  Found a bug in ant and galaxy fixed on the HP-UX 9.0.
  Got rid of some flashing of the grelb on eyes.
  Reinitialize qix lines on each init_qix call.  This gets rid of old lines
    reappearing.
  Added -imagefile option for bitmaps in life, life1d, and maze.   eyes and
    pacman will require more thought.  flag now can have a runtime message or
    use bitmaps.  Thanks to Jamie Zawinski.
	Put random colors on the nose guy.
	Added -grabserver option for unsecure SGI.
  Bug in strcat_firstword fixed thanks to <Jeffrey_Doggett AT caradon.com>
    Fix for ":not found" text that appears after about 40 minutes.

4.02
  Logout patch for SUNOS4, galaxy and life3d leak fix thanks to Tom Schmidt.
    inline and seteuid patches for configure and xlock.h.
  flag-freebsd.h added.
  First mode was not being released in random mode.  Fixed.
  new ellipse code from Dan Stromberg <strombrg AT nis.acs.uci.edu> (formerly
    named trig) added to helix  (xlock -mode helix -ellipse).
  -fullrandom option added to make xlock more random.  Thanks to Jouk
    Jansen <joukj AT hrem.stm.tudelft.nl>.  So far only drift, helix, hop, &
    spline are set up.  Spline in -erase mode has cycles divided by 64
    so it is compatible with +erase.  New options added to hop (-jong
    and -sine).
  Got SunC++, GnuC++, DECC++ errors and warnings out of xlock.c, passwd.c,
    utils.c, logout.c, cartoon.c, clock.c, galaxy.c, life1d.c, turtle.c,
    worm.c, bomb.c, fract.c, tube.c .  It still does not link.
    GnuC++ was tested on Linux and Solaris.  Thanks to Jouk Jansen
    <joukj AT hrem.stm.tudelft.nl> for the DECC++ patches.
  Thanks to Tom Schmidt <tschmidt AT micron.com> for his memory leak fixes
    to gears.c, mode.c, & resource.c.  MesaGL 2.1 has some leaks that were
    reported to the MesaGL maintainer and fixed in 2.2.  Also fixed swirl,
    and GL modes so they always default to the best visual.  Also added
    -visual (available with hackers code).  gears and morph3d fixed to be
    more random at start.
	gears and morph3d multiscreen bug fixed by Brian Paul
    <brianp AT ra.avid.com> MesaGL creator.
  Thanks to Massimino Pascal <Pascal.Massimon AT ens.fr> for ifs and strange.
  Thanks to Marcelo F. Vianna <mfvianna AT centroin.com.br> for morph3d and pipes.
  Thanks to Dan Stromberg <strombrg AT nis.acs.uci.edu> for tube.
  Thanks to Caleb Cullen <CCullen AT hal-pc.org> for lisa.
	On Solaris, initial random mode was not random.  This was fixed by a
    cast for SRAND.  Also updated references for seconds() from long or
    int to unsigned long.  time(NULL) will exceed maximum signed int in
    2038.
  flag jumpiness and gears -mono fixed thanks to Ed Mackey
    <emackey AT early.com>  http://www.early.com/~emackey/sproingies/.
    Sproingies and superquadrics GL modes and -wireframe option added.
    "configure --enable-sproingies"    sproingies is not compiled in by
    default since it may run VERY slow on some machines.  Also the -size
    option may help you here (thanks to Tom Schmidt for this option).
  Thanks to Tracy Camp <campt AT hurrah.com> for fract with improvements by
    David Hansen <dhansen AT metapath.com>.
  "Minor" security hole noticed by David Hedley <hedley AT cs.bris.ac.uk>.
    Minor in that the array is in the heap and not the stack, so it would
    be tricky to write an exploit.  Patched up by David Hansen
    <dhansen AT metapath.com>.
  Debian bug report fix Bug#8276: xlockmore: xlock -help should output
    to stdout rather stderr, thanks to Heiko Schlittermann
    <heiko AT lotte.sax.de> for pointing it out.  xlock -version fixed too.
  Debian bug report fix Bug#8406: app file was not being read when configure
    was used.  Fixed.  Thanks to Herbert Xu <herbert AT greathan.apana.org.au>
    and Dirk Eddelbuettel <edd AT rosebud.sps.queensu.ca> for pointing it out.
  added allnice, allstandard, allstable to modelist choices for the
    random mode.  Any mode that runs slower than star mode is considered
    not nice.  If gl modes are compiled in, these are considered
    nonstandard modes.  If hackers modes are compiled in, these are
    considered unstable modes.  To get only GL modes try:
      xlock -mode random -modelist allstable-allstandard
    allgl works too if you do not want to type that much. :)
  X11 ico added added dodecahedron, tetrahedron, and the star octahedron.
    -face and other options were removed to ease port.
  -resources now prints out the resources for mode options.
  button-logout and auto-logout rearranged.  Also the logout button should
    no longer overwrite your plan.  See "configure --help".  Note: 0 is a
    special case and handled as infinity.
  -icongeometry 1x1 fixes for bug, hop, and triangle .
  fvwm2 menus thanks to James G. Feeney <james AT albion.glarp.com>
  Changed pause on multiscreens so that if pausing the second screen will
    not override it.  Its not exactly right but I am happy with it for now.
  Thanks to Charles K. Hines <chuck_hines AT vnet.ibm.com> for fixing grav.c
    bug, casts to unsigned int.
  LDFLAGS used if using cc on Solaris.  There could be library problems if
    setuid to root.
	-neighbors 8 & 3 added to ant and  8, 3, 9, & 12 added for demon.
  Fix on FreeBSD with xlock setuid and xdm for $HOME/.Xauthority thanks to
    Thomas Gellekum <thomas AT ghpc6.ihf.rwth-aachen.de>.
  -sequential option for random.  Since the random mode is the most easily
    broken... its good to have repeatability.

4.01
  Fix in xlock.c if the HOME variable is not set.  Fix in demon.c for
    multiscreens thanks to David Hansen <dhansen AT metapath.com>.
  Security hole when xlock is setuid to root found by Richard Jones
    <richard AT a42.deep-thought.org> (this affects all previous releases).
		Similar problem found by David Hansen <dhansen AT metapath.com>.
    Thanks to David Hansen for his solution of mallocing userfile,
    appdefaults, modname, modeclassname, fullname, fullclassname, buf
    variables.  Also the memory leak on line 831 of GetResources variable
    classname is believed solved (David Hansen again).  In utils.c get_dir
    "dir" and "filename" are forced to remain within the sizes of DIRBUF
    and MAXNAMLEN respectively.
  Thanks to Tom Schmidt <tschmidt AT micron.com> for adding --enable-hackers
    --with-includes and --with-libraries and patching up the handling of
    Editres in configure.in .  A gears and tube bug patched.  Also
    contributed new Purify report showing many problems with the GL modes
    (gears and morph3d).
  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl> for the DECC patches.

4.00
  xlock.html thanks to vh-man2html .
	Patch for SGI to kill the Xsgi process when using 4Dwm thanks to
    Martin Ebert <hi17 AT iss.mach.uni-karlsruhe.de> and Phillip Moore
    <phil AT ERC.MsState.Edu>.
  Fix for colormap stuff, swirl in random mode could crash xlock, error
    made in ALPHA version.
  Thanks to Alexander Jolk <jolk AT ap-pc513b.physik.uni-karlsruhe.de> for a
		update to lissie to handle -size .
  Thanks to Sergio Gelato <gelato AT spacenet.tn.cornell.edu> for a bug fix
    for galaxy.
  Fixed a "Bad Match" generated with random mode for multi-headed color
    monitors using -install.
  Thanks to Rick Ohnemus <rick AT ecompcon.com> for patches to NAS sound
    stuff. Typos were my fault.
  I noticed a problem with Solaris2 and dirent.h .
    xlock -mode image -imagefile ./bitmaps/
    is supposed to pick a random file.  This mechanism does not seem to
    work too well and may corrupt the filename when you give it a specific
    file name.  Therefore for Solaris2, I compile without dirent.h.
    Check out utils.c and grep on Solaris2 to see more...
    One must give a specific filename on Solaris...  here
    config/xlockrandimage.pl may help you.
  Thanks to Charles Vidal <cvidal AT ivsweb.com> for starting another gui
    interface to xlock, xlock.tcl, in config directory.  Moved xmlock, the
    Motif gui for xlock (also written by Charles Vidal), from hackers
    directory.
  Robert Duff <duffrd AT aud.alcatel.com> patch to randomize the starting
    color of marquee.  Same patch applied to blot, bouboule, braid, dclock,
    geometry, flag, helix, hop, kaleid, julia, qix, roll, rotor, spiral,
    spline, swarm, worm.  On bomb, life, triangle this was not done on
    purpose and on others...  flame and lissie it was done already.
  Leaks fixed in gears.c and bomb.c.  Purify was not used so there could be
    others there.
  dclock should work correctly in password window... i.e. it should not get
    stuck, and randomized initial direction.
  penrose.c  run with -verbose and it will tell you when it hits some
    weirdness (about once an hour) "Dislocation occurred!"
    If it says "Weirdness...." it would have terminated previously.
  Updated make.com to use links instead of copies.  Thanks to Jouk Jansen
    <joukj AT hrem.stm.tudelft.nl>.
  Thanks to Tom Schmidt <tschmidt AT micron.com> for fixing the formatting
    on the "hours elapsed since locked." message and logout patches.
    Also for adding several options to configure.
  Thanks to Tim Mooney <mooney AT dogbert.cc.ndsu.NoDak.edu> for Digital Unix
    (aka OSF1) for patches to the Imakefile.
  Middle button fix and monochrome random mode fix for multiscreens.
    Multiscreen patch for marquee and nose.
  Updated xlock.h not to have a \ at the end a line with a #if.  VAXC chokes.
  Updated size and batchcount in ball and size in pyro.
  Updated mode.c for maze.  Incorrect if XLock.ad was not installed.
  Updated turtle.c.  Incorrect HARTER_HEIGHTWAY mode and float casts to int
    to please the VMS god.
  Updated ant.c to handle more kinds of ants.  Thanks to J Austin David
    <Austin.David AT tlogic.com>.  Check out http://havoc.gtf.gatech.edu/austin
  Hackers modes moved to main directory.  cartoon.c may be kind of flashy
    with -install and without it you might not get any cartoons.  Looks OK
    on monochrome.
  audio stuff for VMS is in config directory.
  Updated grav compile-time options now runtime options-> -decay and -trail.
  New "-version" option now pulls the version from version.h.  Also added a
    more verbose option "-verbose" for maximum verbosity.  -v now gets
    version instead.
  New "-sound" option added.  It is off by default.  If on it will only work
    if RPLAY, NAS, VMS_PLAY, or DEF_PLAY are used at compile-time.
  "Feature" where truncated mode names were accepted, such as "-mode s" now
    give an error.  It did not work well anyway (above example ran shapes in
    monochrome).
  Thanks to Alexander Lehmann <lehmann AT mathematik.th-darmstadt.de> for adding
    backspace capability Control-H for marquee (but not with -message).
  configure is now used.  At this stage the Imakefile is still probably
    more reliable.  The Makefile.[acc hp std sun] are no longer supported.
    (But are in config for reference).  The Imakefile and make.com are still
    supported.  imake has fallen out of favor with me.  imake is sometimes
    not configured well, its make depend is confusing (some systems it is not
    required), and cumbersome (and ugly) " AT  AT \"'s are used to do more
    complicated things.  And it is not installed on some HP's.
    A few things have been added for configure, but NOT used with Imakefile
    or make.com:
      config.h.in -> config.h  when "configure" is run.
        This file is where the users options are stored.  These may depend
        more on the administrator/user than on the system, but some options
        are not available on some machines.  See "configure --help".
        If this file is modified... a "make clean" should be done unless you
        know what your doing.
      Makefile.in -> Makefile  when "configure" is run.
      configure.in -> configure  when "autoconf" is run.  Note: autoconf is
        a GNU product that may not be installed.  This is need only if you
        update configure.in .
     Although there is some VMS support features in Makefile.in... full
       support for MMS, MMK, or VMS-GNU-MAKE is not there yet.

3.13
  loop.c added, it is not exactly a screen saver, but it demonstrates
    self-production.
  turtle.c added.  Recursive turtle graphics.  The only one that works
    at present is the Hilbert curve (which is may not exactly be
    a turtle curve... but close enough).
  Thanks to M G Berberich <berberic AT forwiss.uni-passau.de> for .plan and
    .signature stuff and purify log.
  bomb and signature updates for VMS thanks to Jouk Jansen
    <joukj AT hrem.stm.tudelft.nl>.
  flag fix for negative size thanks to <Mark_Buglewicz AT itd.sterling.com>.
  MULTIPLE_ROOT & passwd in compat mode bug fix and NAS sound patch bug
    fix thanks to Dave Smith <drs AT aeolians.bt.co.uk>.
  Thanks to Tom L. Schmidt <tschmidt AT micron.com> for purify logs.
  Many leaks patched thanks to Purify!  grep on "PURIFY" to find
    unresolved leaks.  Purify file is in the docs directory.
  2 problems in the Imakefile cleaned up thanks to Simon Josefsson
    <jas AT pdc.kth.se>.
  Patch to allow marquee to handle extended character set >=128
    Alexander Lehmann <lehmann AT mathematik.th-darmstadt.de>.
  XPM files now work with -install (thanks to XPM maintainer Arnaud
    Le Hors for pointing me in the right direction).  Managed to reserve
    black and white, but not fg and bg does not work.  Sometimes in random
    mode the colors are not mapped correctly.
  -geometry should now work again without excessive refreshing.
  Refresh update on image.c.
  ball, julia, roll in the hackers directory are probably ready for
    prime-time but have not been BETA tested.

3.12
  swirl will cause xlock to dump core or CRASH OS within 50 repetitions
    when run in random mode, fixed.
  xlock -mode tri -mono  dies, fixed.
  xlock -mode swirl +install  with netscape (stealing colors) running
    is even less reliable, fixed.
  daisy and slip are sometimes in red when there are no colors left, fixed.
  After the delay has expired the first button click only redraws the
    current mode.  It then takes a second click to activate the
    password display.  Fixed thanks to David Hansen <dhansen AT metapath.com>.
  Individual -size option added (like batchcount).  -gridsize removed.
    If 0 it will use the bitmap if available.  If negative it will be
    random from 1 to -size inclusive (like batchcount).
  Combined star mode with rock mode.  rock mode removed.
    -trek, -rock, -straight options.  Star Trek features by Heath Rice
    <rice AT asl.dl.nec.com>.
  dclock updated offscreen so there is no annoying flashing.  Originally
    submitted by Michael Stembera <mrbig AT fc.net>.
  bomb mode back... but its essentials are NOT compiled in by default.
  Patches for SUNOS_ADJUNCT_PASSWD thanks to Mark Buglewicz
    <mark AT itd.sterling.com>.
  Many modes patched that did not initialize the redrawing variable.
  Demon bug solved when alternating between iconified window and normal
    window.
  mountain patched so it would not be so slow.
  life1d much improved.  It now has a fade out if it is found repeating.
    Now can break without it completing a whole screen.  -totalistic
    option added (+totalistic -> LCAU collection instead).
  Updated clock to use batchcount  (i.e. many clocks) .. if there are too
    many collisions it will draw less clocks.
  Thanks to Rene' Driessen <rdr AT crys.chem.uva.nl>
    xlock -mode puzzle -mono ( -inwindow | -debug )
    will get a Bad Match if obscured (but still errors out if moved off
    screen).
  Updated modes to use size instead of batchcount... clock, flag,
    maze, penrose.
  Updated modes to use size instead of cycles... bouboule, star.
  Updated modes to use size instead of worm's CIRCSIZE, and galaxy's STARSIZE.
  Updated other modes to use size bat, bounce, ant, demon, life1d, life,
    wator, wire.
  galaxy bug on VAX now gone... not sure why...  Disappeared when I added
    temporary sin and cos calculations for efficiency.
  Thanks to Dr. George D M Ross <gdmr AT dcs.ed.ac.uk> for SYSLOG (xlock.c)
    and NETGROUP patches (logout.c).
  Thanks to Gabor Herr <herr AT iti.informatik.th-darmstadt.de> for pointing
    out that uid and gid privileges should be taken away unconditionally
    after the encrypted password is grabbed.  Otherwise, it may lead to a
    major security hole depending on how it is installed.
  xmlock.c added to hackers directory.  Thanks to Charles Vidal
    <cvidal AT ivsweb.com> for starting a gui interface to xlock.  Feel
    free to improve upon it, but mail me your diffs.
  -DUSE_HACKERS compile-time option added (cartoon.c took a step back,
    nobody's fault but mine).
  ant mode with -truchet memory leak found.  Refreshing improved.

3.11
  Ron Hitchens <ron AT idiom.com> Updated xlock so it would refresh more
    reliably and handle window resizing and -inroot
  -neighbors is now randomly 4 or 6 if not 4 or 6.  This affects the ant and
    demon mode.  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  -help now displays help messages of each mode if there is one.
  Changed _opts to include a separate counter for opts and vars & desc
    since they do not have to be the same if there are boolean switches.
  Added a -truchet option to ant, this leaves a trail of the ant.
    One should probably change -gridsize to see it more clearly.
  Added a -erase option to spline, if used one should make -cycles low,
    say 20.
  My long request for a penrose algorithm has been answered :) ,
    penrose.c added thanks to Timo Korvola <tkorvola AT dopey.hut.fi> .
    -ammann will show ammann lines.  These were useful for debugging
    penrose.c .  It is currently my favorite mode.  Once I saw it do
    a dislocation, I think.
  tri.c added thanks to Desmond Daignault <tekdd AT dtol.datatimes.com> .
    I would like to see other fractals added to this like fern.
  daisy.c added.  I modeled it after some slow PC lockscreen in the office.
  More 3d options besides rock: bouboule, pyro, & worms.  Rock patched up.
    Now includes overlap color if colormap is installed.  Thanks to
    Henrik Theiling <theiling AT coli.uni-sb.de> .
    There is a bug on some machines with rock mode.  A border of red can
    be seen around the magenta rock (which should be blue).  This happens
    on my Sun with the colormap installed but not on Linux.
  Password code mallocs fixed up and BSD_AUTH code added thanks to
    Paul Borman <prb AT bsdi.com> .
  2 problems in Kerberos code and 2 in the Imakefile cleaned up thanks
    to Simon Josefsson <jas AT pdc.kth.se> .
  Kerberos 5 added thanks to Dale Harris <rodmur AT ecst.csuchico.edu> .
  Multi user per uid patch thanks to der Mouse
    <mouse AT collatz.mcrcim.mcgill.edu> .
  Now should compile under C++, but it complains about signaling, pclose,
    crypt, and gethostname when linking.
  All modes now have refresh hooks, but some just call the init_ hook.
    lissie, bug, rotor, spline -erase and worm hooks thanks to Alexander
    Jolk <jolk AT ap-pc513b.physik.uni-karlsruhe.de> .
    On slip, penrose, and puzzle, I made no attempt.
  All modes now have change hooks.  All except random call the init_ hook.
    So when running a mode you can get it to restart by pressing the middle
    button on your mouse.  This does not work with the password window up
    but probably should.
  Added -debug runtime switch.  Formerly accessed only by -DDEBUG.  Some
    debug switches are still only accessed in this way.
  -rule for life and -rule3d for life3d runtime switches.  Also a real
    change hooks for these modes.  For -rule3d if set to 0 all rules that
    have known patterns will randomly selected.  If set to 1 all rules that
    have known gliders will be randomly selected.
  "xlock -inwindow -lockdelay 10" now should work.
  Sped up sphere by not drawing off screen.
  Added a hackers directory for hackers.
  Added hooks to Imakefile for MesaGL.  No mode uses this yet see the
    hackers directory.

3.10
  Reorganized bitmaps.  All single bitmaps use "image_" inside the bitmap
    file.  They are now organized t-tiny, s-small, m-medium, and l-large.
    That way one can, if one wished, one can use one bitmap file for eyes,
    image, life, life1d, maze, and puzzle at compile-time.
  Removed all references to Scr, screen, and dsp in the modes.
  Release mode stuff added to all modes (except random).  Rewrote image
    initialization for bat, image, and puzzle to make it safe for
    multiscreens (image and puzzle are still not correct for multiscreens).
  Negative batchcounts now allowed, if negative it will be random from
    the smallest allowed positive batchcount to ABS(batchcount), inclusive.
    It is available on
      ant, bat, bounce, bug, eyes, flag, galaxy, geometry, grav, image, laser,
      lissie, maze, mountain, petal, puzzle, rock, spiral, spline, swarm,
      world, worm.
  More mallocing (and freeing) done for bat, bounce, bug, eyes, galaxy,
    geometry, image, lissie, maze, puzzle, rock, rotor, spline, wator, world,
    worm, so there are less predefined limits.  In the case of eyes and rock,
    some limits were imposed where a dynamic number of pixmaps were
    dynamically declared, so that xlock would not easily slow down to a crawl
    and run out of memory.
  bug now uses gridsize.  And to some degree life, life1d, and wator.
    It would be neat if you could choose not to use the bitmaps for big
    windows.
  worm now uses cycles for length of worm and galaxy uses cycles now too.
    rock uses cycles for max rock size.
  One no longer has to hit return twice to unlock using lockdelay.
  flag now uses batchcount for "point" size.
  XClearWindow is used instead of filling screen with a big black rectangle.
  Added -icongeometry option. It has a range of 1x1 to 256x256 .  Position
    information is ignored.  Updated modes to handle weird geometry's bat,
    bounce, braid, bug, eyes, kaleid, life, life1d, maze, nose, puzzle,
    wator, world.
  mountain changed to allow it to be interrupted quicker, (braid and slip
    are harder :) ).
  bounce changed to get rid of drawing errors.  I could not figure out how
    easily remove more without the balls flashing.
  wire mode added based on code from Kevin Dahlhausen <ap096 AT po.cwru.edu>
    and Stefan Strack <stst AT vuse.vanderbilt.edu>.
  lightning mode added thanks to Keith Romberg <kromberg AT saxe.com>.
  in xlock.c, in function runMainLoop, reads should be declared not as
    struct fd_set.  This causes compilation errors with Linux kernels 2.0
    and higher.  Thanks to Brian R. Doherty <doherty AT rice.edu>.
  "nice" patch for xlock to so that xlock is "not so nice" when a password
    window is being presented.  Thanks to Jouk Jansen
    <joukj AT hrem.stm.tudelft.nl>.
  lightning, eyes, maze, shape patched for multiscreens.  XPM stuff patched
    for multiscreens (thanks to XPM maintainer Arnaud Le Hors).
    Tested on a machine where 0.0 is black/white, 0.1 is 8 bit color.
    Also random mode does not use the correct initial values of modes on
    multiscreens.  Testing on multiscreen thanks to Mark Wedel
    <mwedel AT pyramid.com>.
  Long standing bug fixed (>= before MAXBATCH) for flame.c thanks to Ron
    Charlton <crc AT ornl.gov>.
  puzzle when in -inwindow or compiled with -DDEBUG and moved off screen
    will not bomb out unless it is using an xbm image.  This should be
    completely fixed in 3.11.
  New defaults: grelb substituted for life icon, -install for
    installation of the colormap, some modes slowed down so they would look
    correct on fast machines.

3.9
  All modes (except eyes.c) have been updated to use less global variables.
    Also updated xlockmore to ANSI C by GNU's protoize.
  demon.c updated to be faster.  Although it is now significantly more
    complicated.
  ant.c and demon now have runtime options.   -neighbors 6 or 4 (default = 4)
    -gridsize (170 default)  (In ant, when neighbors = 6 it is called bees.
    Not much is known about these critters.  They do not seem to exhibit the
    highway building activity found in normal ants, but otherwise they
    behave pretty similar.)
  flag mode thanks to Charles Vidal <cvidal AT ivsweb.com>.
  The Lissajous worm (lissie mode) thanks to Alexander Jolk
    <ub9x AT rz.uni-karlsruhe.de>.
  Shape mode now has triangles.  Also now looks better when minimized.
    From an idea in REC (Recreational & Educational Computing).
  Random mode now tells you which mode is running when run with -verbose
    [formerly -v].
    Added VERBOSE stuff to life, life3d, life1d, and ant.
  Changed rock.c to use blue by default for the left eye.  All 3D glasses
    I have seen use blue.
  Fixed swirl so it would not swirl "white".  Even if it is not a bg or fg
    color.  This made the border around the little window change color.
  From Ron Hitchens <ron AT idiom.com>:
    patch for middle button so that it will change locks even if duration
      is 0 in random mode.
    patch for window title noticeable when used with the -inwindow option.
    fixed up demon.c
  Random access to raster files by giving a directory thanks to Jouk
    Jansen <joukj AT alpha.chem.uva.nl>.  If UNIX, give directory followed by
    a "/", also it may try to put "." as an image file.
  When xlock is compiled with shadow passwords it will still work on non
    shadowed systems that use elf, thanks to Marek Michalkiewicz
    <marekm AT i17linuxb.ists.pwr.wroc.pl>  Compilation with HAS_SHADOW is
    forced on Linux with ELF (even if shadow passwording is not used).
    This will facilitate a migration towards shadow passwording.
  For the sake of completeness, xbm files can now be read in at run-time.
    Courtesy of John Bradley's xv(xvbm.c), used by permission.
  "xlock -nolock -lockdelay 1" should no longer crash

3.8
  system call for sounds using DEF_PLAY thanks to Milco Numan
    <milcon AT krim.chem.uva.nl>
  Used GNU's indent to reformat all *.c and *.h files.  It may have
    screwed up some comments. I used:
    -bap -nbacc -bad -nbc -br -bs -c33 -cd33 -ncdb -ce
    -d0 -di12 -neei -fc1 -i8 -ip8 -l79 -lp -npcs -psl -nsc -nsob
    -cli8 -cs -cp1
  Multiple root accounts for allowroot.  Thanks to Lewis Muhlenkamp
    <lewism AT tt.comm.mot.com>.
  Better make.com file for for VMS thanks to Jouk Jansen and the
    author of XVMSUTILS, Trevor Taylor <taylort AT decus.com.au>.
  -display fix for VAX thanks to Jouk Jansen.
  eyes mode, revamp to eliminate need for global variables in modes,
    new hooks (release and refresh), and middle button for "Next" in
    random mode, thanks to Ron Hitchens <ron AT idiom.com>.
    This now allows for many things to be cleaned up.  Due to the number
    of modes, it will take a few releases.  See HACKERS.GUIDE.
  puzzle mode thanks to Heath Rice <hrice AT netcom.com> & Jouk Jansen
    <joukj AT alpha.chem.uva.nl>.
  Raster files (for puzzle.c and image.c) thanks to Tobias Gloth
    <gloth AT math.uni-muenster.de> & Jouk Jansen <joukj AT alpha.chem.uva.nl>.
    Background is now black when used with -install.
  swirl for 16 bytes per pixel patch <davidm AT azstarnet.com>
  bouboule mode memory leaks fixed thanks to Jeremie Petit <jpetit AT essi.fr>.
  maze's dead ends are now filled in.
  More syslog stuff for notifying failures in unlocking xlock Andrew Sammut
    <sammut AT dstc.qut.edu.au>.
  blank now uses the power-down sleep mode if available, thanks to Ron
    Hitchens <ron AT idiom.com>.

3.7
  HP bug timing bug fixed thanks to Ron Hitchens <ron AT idiom.com>.
  3D mode for rock thanks to <theiling AT coli.uni-sb.de>.
    Get out your 3D glasses, Red on right and Green on left.
  added compile time option for spline, FOLLOW to erase old splines
    like Qix thanks to Richard Duran <rduran AT cs.utep.edu>
  petal now works with -inroot .
  CDE DT saver thanks to Trevor Bourget <trevor AT thomsoft.com>
    see Imakefile and README.
  bouboule mode added, thanks to Jeremie Petit <jpetit AT essi.fr>.
    bouboule fixed for VMS and TrueColor.

3.6
  Many patches, thanks to Ron Hitchens <ron AT idiom.com>.
    xlock now appears over the screensaver, passwd.c reorganized,
    new event loop in xlock.c, new icons in bitmaps, updated clock
    and triangle, and resource parsing fixed for "xlock".
  pedal renamed to petal.
  Clock mode updated to change in size thanks to original author
    Petit Jeremie <jpetit AT essi.fr>.
  More context handling stuff for DCE thanks to Terje Marthinussen
    <terjem AT cc.uit.no>.
  slip mode added thanks to Scott Draves <spot AT cs.cmu.edu>
    with a patch from <joukj AT alpha.chem.uva.nl>.
  patch for -messagesfile code favored early quotes and new event loop
    compatibility thanks to <joukj AT alpha.chem.uva.nl>.
  XLock.ad and xlock.man updated to be more consistent.
  ultrix fix for strdup thanks to Erik Bertelsen <erik AT sockdev.uni-c.dk>.
  invalid sound added thanks to <J.M.Box AT dcs.warwick.ac.uk>
  Thanks to <mccomb AT interport.net> for helping to debug marquee and nose
    on multiheaded machines.

3.5
  Fixed my goof on worm.c.
  vms_play fixed for nonexisting sound files and -messagesfile code
    updated thanks to <joukj AT alpha.chem.uva.nl>.
  marquee now more random and memmove no longer used.
  marquee fixed for multiheaded machines thanks to Caleb Epstein
    <epstein_caleb AT jpmorgan.com>.
  Random number generator fixed for 64 bit "long" thanks to Scott McCoy
    <smccoy AT dr3w.ess.harris.com>.

3.4
  rplay patch thanks to Simon Banks <sbanks AT cellnet.co.uk>.  xlock now
    has sound where available.  Edit your favorite makefile.
  2 new modes thanks to Tobias Gloth <gloth AT math.uni-muenster.de>.
    marquee (I changed a lot) shows text on the screen, similar to nose
    triangle, (colormaping removed) similar to mountain
  nose text functions removed to utils.c
  image.c now with -imagefile option (only with XPM).
  rect.c name changed to shape.c.
  swirl.c and world.c fixed for multiscreens, thanks to Grant McDorman
    <grant AT isgtec.com>.
  A better way of handling fortunes from a file, thanks to Jouk Jansen
    <joukj AT alpha.chem.uva.nl>.  To try use -messagesfile fortune.dat.
    Also contributed vms_play.c and a new make.com file.
  KERBEROS patch thanks to Omar Siddique <omar AT gl.umbc.edu> for sending
    and testing it (patch author unknown).

3.3
  LIFE_5655 and LIFE_6767 compile time options for life3d.
  ultrix passwd bug fix thanks to Erik Bertelsen <erik AT sockdev.uni-c.dk>.
  nose now has a font option and is fixed for multiscreens.
  Stupid memory leak in ant fixed.  Now random colors.
  swirl now needs to be used with -install to look right,
    thanks to Heath A. Kehoe <hakehoe AT icaen.uiowa.edu>.
  Patch for AIX thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl>.
  Color pixmaps for bat from <patol AT info.isbiel.ch>.
  image pixmaps now default to bitmaps if xpm fails, thanks to
    <Markus.Zellner AT anu.edu.au>.
  flame crashed xlock when using random mode on Linux, fixed.
  Numerous fixes for multiscreens incl: bat, bounce, rect, hyper, life1d,
    forest, laser, mountain, and braid.  Also xlock.c patched or second
    screen would have a black and white display.
    Purify found memory leaks in swirl, mountain, laser, hyper, maze.
    Thanks to <mccomb AT interport.net>.
  New option -lockdelay #, for those who were bothered by xautolock
    locking the screen when you you did not want it, now just hit
    return (within a specified number of seconds) to get the screen back.
    This option is intended to be used with xautolock.
  worm now has no limit on the number of worms.
  pyro bug fixed for large batchcount (500-2000), thanks to
    Minoura Makoto <minoura AT flab.fujitsu.co.jp>.

3.2
  Doug McLaren <dougmc AT comco.com> noticed a big security hole in
    nose.c when xlock is setuid to root.  Now, after the password is
    read, it gives up root, thanks to Heath A. Kehoe
    <hakehoe AT icaen.uiowa.edu>.
  DCE Authentication patch added.
  Thanks to Jouk Jansen <joukj AT hrem.stm.tudelft.nl> for clearing up
    a timing problem using -DOLD_EVENT_LOOP .

3.1
  Multipatch by Heath A. Kehoe <hakehoe AT icaen.uiowa.edu> it includes
    speed up in helix, random mode now switches modes, input to mode
    is now customizable (see random.c), and a DCE authentication patch
    (based on work by Phil O'Connell <philo AT icaen.uiowa.edu>).  Also
    usleep was dropped in favor of a new timing mechanism.  It is still
    available using -DOLD_EVENT_LOOP (VMS still uses it by default).
  braid.c thanks to John Neil <neil AT math.idbsu.edu>.
  helix now looks even better.  I found a bug in the translation from
    xscreensaver.
  nose.c may still need a little work (its a bit slow).  Taken from 2
    sources xnlock and xscreensaver's noseguy.  It no longer leaves
    dust on the screen as well (the bitmaps are shifted up by one pixel).
  pedal.c taken from xscreensaver.
  Patches for OSF1_ENH_SEC but it unfortunately seems to need more work.
  Idea to have the mode.h defaults used thanks to Roland Bock
    <exp120 AT physik.uni-kiel.d400.de>.
  closedown patch for xdm use from Janet Carson's xclosedown
    with modifications from Anthony Thyssen <anthony AT cit.gu.edu.au>.
  image.c updated to use xbm if using a monochrome monitor or using -mono.
  life1d, bug.c, ant.c, and demon.c added from Scientific American's
    Computer Recreations.
  hop.c now has Peter de Jong's hop.  Half the time its boring but
    the other half of the time its great.
  A better patch from Peter Schmitzberger <schmitz AT coma.sbg.ac.at> for
    spiral (a bug that I introduced).

3.0
  Patch from Peter Schmitzberger <schmitz AT coma.sbg.ac.at> for maze and image.
  Thanks to Shane Watts <shane AT phobes.mlckew.edu.au> for helping me with
    Linux shadowing.
  world.c backward spinning jump fixed by Neale Pickett <zephyr AT nmt.edu>.
  laser.c bug (that I introduced) solved by Heath A. Kehoe
    <hakehoe AT icaen.uiowa.edu>.
  Edited rect so that it does ellipses as well, like After Dark.
    I should of renamed it right?
  Got rid of "+=" in Imakefile because HP, AIX, and Ultrix have
    trouble with it.  Still used by some systems where there seems to
    be no trouble.
  passwd.c extracted from xlock.c and xlock.h .  May have cured some
    bugs (like a BIG network security bug) but most likely broke some
    systems.  Thanks for the many people who gave feedback during
    the BETA test.

2.10
  xlockrc password for more user control of xlock.  Author unknown.
    It is a compile-time option, see Imakefile and README.
    Moved usleep.c and hsbramp.c to utils.c and logout.c to opt.c .
    Split out mode.h from resource.c .
  Changes of Skip_Burrell AT sterling.com were incorporated into image.c .
    Not sure how to get pixmaps to randomize color and -mono does
    not work for pixmaps.  See Imakefile and README.
  -allowroot now works on Solaris2.x.
  Clock mode added, thanks to Jeremie Petit <petit AT simula.unice.fr>.
  laser and mountain modes added, similar to After Dark's version, and
    also forest mode thanks to Pascal Pensa <pensa AT aurora.unice.fr>.
  Updated maze and helix after seeing mountain mode.  Do not have to
    wait a second to enter password. :)
  Now provide random number generator.  Thanks to Mike Arras
    <arras AT intertv.com>.  I changed RAND to LRAND.
  Due to overwhelming demand, the old flame is back... well OK its
    slightly modified.
  Patch for SUNOS_ADJUNCT_PASSWD, thanks to Dale A. Harris
    <rodmur AT ecst.csuchico.edu>.
  Imakefile reorganized for AIX.

2.9
  "make install.man" should now work for imake users (if you would like
   it to work for Makefile.hp ...  mail me the patch).
  Unbundled SunC warnings removed in bitmap files, maze, grav, life,
    and swirl.
  Swirl patched to work sensibly with TrueColor displays, thanks to
    Steve Early <sde1000 AT cam.ac.uk>
  Rock mode made much better by Jeremie Petit <petit AT simula.unice.fr>.
  Imakefile reorganized by <mjacob AT feral.COM> for Solaris2.x .
  Reorganized the README and the screens are now (mostly) alphabetical
    throughout.
  Updated life3d to include compile-time options LIFE_5766 and LIFE_4555.
    5766 is more like life, but 4555 (default) seems to be better.
  I went through the lifep.zip (May 94) collection and pulled out some
    small and interesting life forms.
  I added another control to the screens.  "-cycles num" influences the
    time out (it applies to about a 1/3 of the screens, see man pages).
    For consistency, the meaning of batchcount for qix, life, life3d,
    and rect was changed.  References to "seconds()" in the screens were
    removed.  The length of a "cycle" depends on "delay".
  Multidisplay bug fix for maze, thanks to <epstein_caleb AT jpmorgan.com>.
  AIXV3 with AFS, thanks to <chuck_hines AT VNET.IBM.COM>.

2.8
  No more bomb.c, if you think xlock needs it, let the maintainer know.
  full_lock rewritten by Dale A. Harris <rodmur AT ecst.csuchico.edu> to
    handle non-login groups as well.
  fixed a bug in wator, introduced in 2.7.
  fixed nanosleep bug for delays of 1 second or more.  Nanosleep is now
    used by default on Solaris.  The Imakefile will have to be modified
    if using Solaris 2.0-2.2, since nanosleep is not available.
  I do not know why, but the logout out feature now works on Solaris.
  Various warnings and errors fixed in make.com, resource.c, logout.c,
    and galaxy.c for VMS.  Also fixed random generator for VMS not to
    toggle the least significant bit.  This made worm.c look funny.
  xlock now works on VMS/AXP thanks to <JOUKJ AT CRYS.CHEM.UVA.NL>.  One
    will have to uncomment sections in make.com .  Also fixed some
    AIX problems.
  Modes spiral and geometry thanks to Darrick Brown <dbrown AT cs.hope.edu>.
    Batchcount in maze and spline were changed to behave similarly.
  A patch from Heath Rice <hrice AT netcom.com> for a better way to handle
    batchcount, delay, and saturation.
  I went through xlife3.0 huge collection and added "suitable" lifeforms.

2.7
  sgi patches and logos from Dave Truesdell <truesdel AT nas.nasa.gov>.
  flame bug fixed thanks to <spot AT cs.cmu.edu> and
    <M.R.Dobie AT ecs.soton.ac.uk>.
  MANY patches from Heath A. Kehoe <hakehoe AT icaen.uiowa.edu> include:
    The long awaited HP patch.  It appears there was a bug in HP's XFlush
    function.  So XSync was substituted.  HP_PASSWDETC patch.
    maze, swarm, and worm -mono now look better.
    Many changes to the Imakefile, new compile time features ...
    including a logout button for labs (this appears to be better
    implementation than the bomb mode (much of the bomb code has been
    reused)) -install option to allow xlock to install its own colormap
    if it runs out of colors.
  Thanks to <slouken AT virtbrew.water.ca.gov> for yet another option:
    grabmouse for compatibility with xscreensaver.  So you would set
    your apps-defaults file for xscreensaver like:

*programs:      xlock -nolock +grabmouse -mode random

  Updated life3d to include shooting gliders.
  BSD and Linux icons slightly modified.  Also new ships for life.
  Compile time options HAS_RAND, HAS_RANDOM, and HAS_RAND48, and
    updated the sccsid so `what` will give you something meaningful.

2.6
  Created a HAS_USLEEP and a USE_VROOT switch.
    There were numerous reports of the incompatibility with tvtwm,
    (also problems with windows with StickyAbove set to true and
    swirl), read the README section on that.
  Thanks to Chris Ross <cross AT va.pubnix.com>, maintainer of tvtwm, for
    fixing various bugs; make depend for R5 and less, life3d should not
    have malloc.h, and a time-elapsed patch.
  A few new life forms for life.c.  Anyone know what SMILEY is really
    supposed to look like?  :)
  Revised -inroot does not lock screen, as this is done better with the
    following patch, and as someone pointed out, its not intuitive.
  Thanks to Tim Medley for sending the -geometry patch of Mike Peercy
    <peercy AT crhc.uiuc.edu>.  Many of the modes will fail if the windows
    are far from square or are too small.  You can place Xlock off the
    screen, for example,
      xlock -enablesaver -mode blank -geometry +1152+0
    puts the window off the visible screen on a Sun.
  A new version of flame.c from the original author Scott Draves
    <spot AT cs.cmu.edu>.
  Something really devilish for BSD (new icons) thanks to J Wunsch
    <j AT uriah.sax.de>, but they have been modified.  I also created a
    Linux icon.
  A patch for Ultrix systems (at least DECstations) running enhanced
    security thanks to Chris Fuhrman <cfuhrman AT vt.edu> and friend.
  Multidisplay bug fix for life3d and wator, thanks to
    <epstein_caleb AT jpmorgan.com>.
  Life3d on a monochrome monitor looks a little better. -mono was
    working right.

2.5
  A patch for swirl for fixed color maps (more colorful) and the
    image now spirals outwards from the center with a fixed number of
    points drawn every iteration, thanks to <M.R.Dobie AT ecs.soton.ac.uk>.
  A patch for blot on dual-headed machines and nanosleep, thanks to
    Greg Onufer <Greg.Onufer AT Eng.Sun.COM>. Use nanosleep on Solaris2.3
    and greater, examine the Imakefile and/or README for details.
  A long needed patch for X11R5+ for -delay, -batchcount, and
    -saturation to work thanks to Patrick D Sullivan <pds AT bss.com>.
  bomb mode patch for more flexibility thanks to Dave Shield
    <D.T.Shield AT csc.liv.ac.uk>.
  bomb mode patch for Sun10 thanks to Nicolas Pioch <pioch AT Email.ENST.Fr>.
  modes wator and life3d added.
  life now has a random soup pattern stolen from life3d.
  -inroot option added, thanks to Bill Woodward <wpwood AT pencom.com>.
    Now more compatible with xscreensaver if run as
    "xlock -mode kaleid -inroot -nolock".

2.4
  hopalong now includes a sine hop (but less likely to come up).
  life now has new organisms. They are now better centered.  Some of
   the nonperiodic forms were removed.
   life's gliders now come from the edge of the screen, usually.
  image now centers icons, for example, the hp icon is now centered.
  blot now randomly has xsym, ysym, or both.
  Solaris should now compile out of the box to handle shadow passwords.
    Thanks to Alain Brossard <brossard AT siisun.epfl.ch>.
  rock, grav, rect, bat, world, bounce and swirl fix for 24 bit colors.
  Patch for building under HP-UX with Secured Passwords, thanks to
    Dale Harris <rodmur AT ecst.csuchico.edu>.

2.3
  Now the X Logo displays if not Sun or HP.
  "bat" mode disastrous bug fixed.  Thanks to R.K.Lloyd AT csc.liv.ac.uk
    for pointing it out.
  -DMOUSE_MOTION switch added for those who want the Password window to
    come up if you just moved the mouse. (Not recommended).
  "swirl" mode was modified to check background, foreground, and black
    so as not to cycle these colors, special thanks to Mark Dobie
    <mrd AT ecs.soton.ac.uk>.
  -DFORCEFIXEDCOLORS switch for those who are annoyed by swirl cycling
    its colors.

2.2
  Made more consistent with the slackware release.  XLock.ad changes
    to rock, rotor, and foreground and background colors.
  Fixed bug in life.c, evident in the Slackware release.
  Minor patch for swirl on HP's due to R.K.Lloyd AT csc.liv.ac.uk.
  "bat" put back with minor changes.

2.1
  Large modifications to README.
  Patch for building under QNX 4.2 w/ Metrolink X server, thanks to
    Brian Campbell <brianc AT qnx.com>.

2.0
  "swirl" mode was added, thanks to Mark Dobie <mrd AT ecs.soton.ac.uk>.
    WOW, but not-so-neat on monochrome monitors.
  Patch for Solaris 2.3 for local, NIS, and NIS+ passwords, thanks to
    <Christian.Iseli AT di.epfl.ch>.
  "image" mode was put back but random will not run it, too boring.
  "bomb" mode was added, thanks to <D.T.Shield AT compsci.liverpool.ac.uk>.
  In order to use extra-long passwords with the Linux, changed
    PASSLENGTH from 20 to 64.  Thanks to <slouken AT virtbrew.water.ca.gov>.

1.14
  Multidisplay bug fix for rect, thanks to <epstein_caleb AT jpmorgan.com>.
  Now works on IRIX on the SGI. Thanks to <reggers AT julian.uwo.ca>.
  Now works on NetBSD. Thanks to Greg Earle <earle AT isolar.Tujunga.CA.US>.
  Now works on a Alpha 3000/400 OSF/1 V2.0. Thanks to Udo Linauer
    <ul AT eacpc4.tuwien.ac.at>.
  "galaxy" mode was added, thanks to Hubert Feyrer
    <hubert.feyrer AT rz.uni-regensburg.de>.
  "kaleid" mode was added, taken from the Linux version of xkaleid.

1.13
  "timeelapsed" option was added.  Allows you to find out how long a
    machine is locked so you can complain to an administrator.
  Now may work on IRIX on the SGI. Thanks to Thomas Runge
    <runge AT egd.igd.fhg.de>
  "bat" mode was added, thanks to Lorenzo Patocchi <patol AT info.isbiel.ch>.

1.12
  xlock now works on Linux with shadow passwords.  Special thanks to
    H. J. Dihu <macgyver AT mcs.com>

1.11
  Shadow passwords and DES encryption are now detected by the Imakefile.
    Victor Langeveld <vic AT mbfys.kun.nl> reorganized the Imakefile for
    shadow passwords and crypt.  Now should compile "right out of the
    box" (although there are still problems on Solaris 2.3).
  Patch to fix sudden rotation changes in rock from Yoshiaki Kasahara
    <kasahara AT csce.kyushu-u.ac.jp>.

1.10
  R.K.Lloyd AT csc.liv.ac.uk reorganized the Imakefile yet again.
  Fixed a bug in rect.c thanks to <epstein_caleb AT jpmorgan.com>.
  Ditched bzero and bcopy since both are more generally available as
    memset and memcpy.  Also removed some lint warnings.

1.9
  "rect" mode was added from xscreensaver's greynetic.
  "helix" bug fixed.  It is now more interesting.
  bounce.c divide by zero fixed and grav.c improvements.  Thanks to Greg
    Bowering <gb AT pobox.com>.
  grav.c, rock.c, world.c fixed so no black objects.

1.8
  Imakefile did not work with R6.  Also Solaris2.3 may use SVR4
    instead of SYSV.  Thanks to Chris P. Ross <cross AT eng.umd.edu>
  "grav" mode was added.  Its a simplistic gravitational simulation,
    with (currently a constant 16) solid spheres (non-rendered) of equal
    size and mass orbiting a fixed central mass.  The sphere's orbit in
    3 dimensions, their position and size being projected with simple
    perspective.  Thanks to Greg Bowering <gb AT pobox.com>.
  "inwindow" option was added.  Allows you to do what xlock already
    did when DEBUG was defined.  It no longer locks your screen, but
    allows you to run xlock as a (somewhat distracting) decoration.
    Thanks to Greg Bowering <gb AT pobox.com>.
  "bounce" mode (football) is back.
  "world" mode was added.  Thanks to Matthew Moyle-Croft
    <matthew AT moyle-croft.com>
  "image" mode was removed. It was very similar to world anyway.

1.7
  cuserid() is needed by Solaris2.3 with shadow passwords in xlock.c.
    Thanks to Bill <benedett AT gentire.com>.

1.6
  R.K.Lloyd AT csc.liv.ac.uk pointed out again that gray_bits in maze.c needs
    a type cast.
  xlock.c defaults to "blank" to minimize cpu usage on a network.

1.5
  xlock works again on VMS (see README.VMS) thanks to Anthony Clarke
    <Anthony.D.Clarke AT Support.Hatfield.Raytheon.bae.eurokom.ie>.
  memcpy and memset definitions for SYSV. Also there now is a switch
    for shadow passwords thanks to <reggers AT julian.uwo.ca>.

1.4
  Now works on BSD. Thanks to Victor Langeveld <vic AT mbfys.kun.nl>
  Both Victor and Alexandre Miguel <miguel AT natacha.ens-cachan.fr>
    suggested taking out the cuserid() call in xlock.c.  For FreeBSD its
    a necessity and the old way is is a security hole in SunOS.

1.3
  Linux port from Darren Senn's (sinster AT scintilla.capitola.ca.us) xlock.
  Fixed drand to random in helix.c
  Fixed a memory leak in rock.c.

1.2
  SHIFT - CONTROL - BREAK on the HP is trapped. Thanks to
  R.K.Lloyd AT csc.liv.ac.uk who pointed out that this was done in xscreensaver.
  AIXV3 and HP bugs fixed, again due to R. K. Lloyd.

1.1 & 1.0
  took out "rint" from "worm.c" since HP's have trouble with it
  added spline, maze, sphere, hyper, helix, rock, & blot modes.
  fixed "xlock.h" and "usleep" for the HP.
  changed border so it varies with size of screen on "swarm" so the
    wasp would not be stuck in a corner when the password is entered.

-------------------------------------------------------------------------------

Original author: Patrick J. Naughton
Site: ftp.x.org in /R5contrib
The changes in the original xlock

Changes of xlock (sccs version 23.21) patchlevel = 2.3
    o added worm mode.
    o old -name and .name changed to -username and .username.
    o lint cast.
    o change color allocation to allow "#ffaabb" style color names.
    o portability bug in flame mode fixed plus some other nits.
    o white on black on monochrome screens fixed.
Changes of xlock (sccs version 23.19) patchlevel = 2.2
    o added -name to allow different resource files to be used.
    o added -usefirst to allow first keystroke to be used in password.
    o made changes to life mode to allow wrap around.
    o made old life cells stay blue.
    o added -resources to get default resource file.
    o added random mode
    o added pyro mode
    o added flame mode.
    o made passwords a little more secure.
    o use effective uid to find current user.
    o make main window managed by the wm in debug mode.
    o some more SVR4 portability changes.
    o resource code now looks at XUSERFILESEARCHPATH and XAPPLRESDIR.
    o removed verbose copyright info from each file.

-------------------------------------------------------------------------------

 Copyright (c) 1988-91 by Patrick J. Naughton.

 Permission to use, copy, modify, and distribute this software and its
 documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
 both that copyright notice and this permission notice appear in
 supporting documentation.

 This file is provided AS IS with no warranties of any kind.  The author
 shall have no liability with respect to the infringement of copyrights,
 trade secrets or any patents by this file or any part thereof.  In no
 event will the author be liable for any lost revenue or profits or
 other special, indirect and consequential damages.

    ______________________________________________________________________
    Patrick J. Naughton				   email: naughton AT sun.com
    Sun Microsystems Laboratories, Inc.		   voice: (415) 336 - 1080

Maintainer: David A. Bagley <bagleyd AT verizon.net>
