4.0:

     - Added new "WWW" client: Button 1 launches browser, button 3
     directs running browser (or starts one if necessary) to the URL
     in the current X selection (very handy when reading news or
     mail).  Supports lynx (in an xterm), netscape, and hippo (a
     yet-to-exist browser).  I'd be grateful for contributions of
     code to support other browsers.

     - Added new "Jots" client, invoked (by default) by button 3
     anywhere on the clock window.  Jots is a note-taking utility.
     Try it out or see the html docs for more info.  It could have
     been a stand-alone program, but as a tkg client it starts up
     ultra-quickly (and maybe it gives people another reason to use
     tkgoodstuff ;-) ).

     - Biff: We used to check for new mail at startup by seeing
     whether the spool file was nonempty.  But some people keep their
     old mail there (thanks to Chris Fowler for pointing out the
     problem and trying out fixes).

     So now we have two choices for "Biff_method": atime and filesize.
     With "atime" (now the default method), we check, if the file
     exists, whether the file's mtime is no earlier than its atime.
     Also, the Biff_ignore function (button 2) now displays simply the
     "No Mail" message and image (with the atime method we simply
     "touch -a" the file and check for new mail).  Atime is the
     default because it's more annoying for atime people to get
     filesize behavior than vice versa.

     Anyone want to write a method that parses the spool file
     and looks for "Status" lines in the headers (if you do that, why
     not also write an internal "frm" replacement)?  Anyone want to
     write a method for those who use mh with slocal delivery (you'd
     need to have a variable for the list of folders to check)?

     - Ical: removed a call to "date" which wasn't very portable.
     Remind me again why time/date support is still on the Tcl to-do
     list?  Also added check for existence of calendar file.

     - Clock: no longer treat the noon hour as am (thanks Michael
     Tempsch)!

     - Dialer: zapped a stray double-quote in the help text that made
     help hard to come by.

     - Discovered that I lost a chunk of documentation revision work,
     and so had been distributing 0.3 documentation with 4.0b4 code.
     Sorry!  Now it's back.

     - Changed TKGButton's "-tkgforeground(mode)" (etc.) switches to
     plain "-foreground(mode)" (etc.).  Adjusted my clients to suit;
     if anyone out there actually has written a client, you may have
     to do the same.

     - Cleaned up a little code: formatting times in Clock and
     Ical (gee, there's a "format" command in Tcl), unhappy uses
     of "eval", etc.

     - At startup we test for whether interpreter handles images of
     type "pixmap", and set TKG_defformat to xpm or xbm accordingly.
     Provided clients now choose xpm images by default if possible. 

     - Made the color scheme easier to adjust; now you can just set
     TKGbackground and/or TKGforeground, and the others will be
     adjusted to suit (you also can set the others explicitly).

     - Changed the default colorscheme to something closer to the
     standard (for tk/wish).  To use the old scheme (approximately)
     put in your .tkgoodstuffrc file this line: 
        set TKGbackground \#988798

4.0b4: 8/18/95
     - Changed the version numbering to be more informative, and more
     like Tcl/Tk.  The "4.0" refers to the version of tk it works
     with, and the "b4" denotes the fourth beta version.  There will
     eventually be a 4.0 version, and, if there are more changes, a
     4.0p1 version and so on up.

     - Added an expectk program called Dialer.  (Expectk  is built
     by the "expect" package available at
     ftp://ftp.cme.nist.gov/pub/expect.)  This program dials your
     modem, does a login script, and on successful completion starts
     pppd or term or whatever you like.  This is done while you watch
     the progress in a tk window; you are notified of any errors,
     etc.  The configuration is all done from within the GUI.  This
     program is much like the dialer programs many internet providers
     supply.  It works stand-alone, but it also can be called from the
     Net client, with the following .tkgoodstuffrc command:

         set Net_on "Dialer /home/markcrim/.DialSettings Dial"

     - Overhauled the button code to be lots more flexible and to look
     a  bit more like a tk widget to the user (and especially to the
     client programmer).  The interface is different enough now that
     you really should look at the html docs to learn it.

     - Syntax of AddButton and TKGButton (the new name for
     create-combo-button) is different (see doc/tkgoodstuffrc.html and
     doc/writingclients.html), now taking switch/value form rather
     than just a list of arguments.  TKGButton also serves as a
     general interface for configuring buttons.

     - We allow not only unix commands but also tcl commands bound to
     buttons.  Unix command buttons (by default) stay down until the
     launched unix process disappears.  Tcl command buttons (by
     default) stay down 3/4 second (so as to make it obvious that
     you've pressed the button, and so as to prevent inadvertent
     double-clicking).

     - We implement not only "states" (normal/active) for buttons, but
     also what we call "modes" (the only default mode is "normal").
     Associated with each mode for a button can be foreground,
     background, activeforeground, and activebackground colors.  This
     is useful for buttons that change to indicate things (like the
     Biff button, which has "nomail" and "newmail" modes with
     distinctive colors, and the Net button, which has "netup",
     "netdn", and "netwt" buttons, with distinctive colors).

     - We allow image+text buttons to have the image on any side of
     the text.  TKG_imageside defaults to "top".  You can change that
     variable setting (in your config file) to alter the default
     behavior.  You also can use the TKGButton (or AddButton) switch
     "-imageside" to alter the behavior when creating any button.

     - Rewrote Biff and Net to take advantage of the new button code.
     (They are a good deal simpler now).

     - Altered the async loop to start the wait loop before rather
     than after executing the async tasks.  I don't really know how
     tcl's background stuff works, so I'm not sure if this makes our
     counter more accurate.  But if after works like the man page says
     it does, this should make TKGcounter a pretty accurate seconds
     count.

0.3: Aug 5, 1995
     - Added support for images other than bitmaps.  Non-bitmap images
     will (or at least should!) automatically be recognized IF YOUR
     WISH INTERPRETER KNOWS ABOUT THE FORMAT.  Tk4.0's wish4.0 knows
     only about bitmaps, gif's, and ppm's.  I've put together
     "xpmwish4.0" (see
     ftp://merv.philosophy.lsa.umich.edu/pub/ftp/xpmwish4.0.tgz) which
     is a wish interpreter just like wish4.0 except that it
     understands xpm's (it implements the "pixmap" image type; the
     code is not my work---see the README in the xpmwish4.0
     distribution for credits).  Tix4.0's tixwish also knows also
     about xpm's.  So if you install one of these wish's, and choose
     it as your wish executable in the tkgoodstuff install process,
     xpm's will work fine.  This change required fiddling with some of
     the syntax for configuration files, since where we had required a
     bitmap identifier we now want to allow filenames of images of
     arbitrary formats.

     - Fixed new bug that disabled the "null label" feature in
     AddButton. 

     - Fixed bug in user configuration of colors. (Thanks to Damien De 
     Paoli for spotting it, and for much other help.) 

     - Allow configurable foreground and background for new
     mail on Biff button: $Biff_newmailforeground and
     $Biff_newmailbackground. 

     - Made Biff button stay sunken while mailer is running, and disable
     mailer launching until mailer process disappears.

     - Fixed Net's "wait" feature.  It wouldn't ever stop "waiting"
     for a failed attempt at opening the line.  Now it does.

     - Fixed some problems with 12's becoming 0's in Clock.

0.2:
     - Added analog clock to Clock client
     - Added simple alarm utility to Clock client
     - Fixed silly bug preventing Ical alarms from actually happening.

0.1: 6/25/95
     (First version)
