GTKeyboard - part of the GNU Project
Written by everybody listed in the AUTHORS file
http://opop.nols.com/ 
http://www.gnu.org/software/gtkeyboard/gtkeyboard.html

--== CHANGELOG ==--

version 1.1.7:
	- Barring flood or hurricane, hopefully this is going to be the
	  last release before gtkeyboard 1.2

	- Added modifier definitions to all KEY files distributed with the
          program.  See the documentation for more information.  
	- Added documentation on writing keyboard definition files.  See
	  the "hacking" section of the documentation.
	- Added Misc/testmodmap.c as a diagnostic utility.
	- Updated AUTHORS file to reflect recent patches and
	  contributions. 
	- Added modmap.c for dealing with the X modifier keymap.
	- Makefile tweaks to avoid removing configuration directories
	  prior to installing gtkeyboard.  Thanks to Vladimir Geogjaev
	  <vg@wave.sio.rssi.ru> for this pointer.
	- Addition of RU.key for russian keyboard layouts.  Thanks to
	  Vladimir Geogjaev <vg@wave.sio.rssi.ru>
	- Applied patch to allow the use of cyrillic characters.  Thanks
	  to Vladimir Geogjaev <vg@wave.sio.rssi.ru>
	- Fixed NumLock problem, keypad keys can now be used in their
	  normal cursor function as well as keypad keys in foreign
	  windows.  Thanks to Ralf Thummert <thummert@web.de> for pointing
	  this bug out.
	- Masks used for foreign events no longer depend on Mod1-Mod5Mask,
	  they are determined from the modifier mapping at run time.  This
	  should fix many problems with stranger keyboard types,
	  particularly after remapping.  Thanks to Ralf Thummert
	  <thummert@web.de> for pointing out some problems with this.
	
version 1.1.6:
	- Applied user-submitted patch.  Thanks to Moritz Barsnick
	  <barsnick@gmx.net> for pointing out some silly issues in the
	  Makefiles, as well as a hardcoding in app.c
	- Added a swiss german keyboard layout file: CH.key courtesy of
	  Portner Marcel
	- Small bugfixes to the window redirection code
	- Removed RPM specific code with the help of another patch
	- Small UI tweaks.
	
version 1.1.5:
	- Testing. Testing.  Bugs fixed.  Some anyway.
	- Added the layout attribute KBD_FILE.  When you "save layout
	  settings" it now saves the keyboard filename layout you were
	  using, AND whether or not you had tooltips on or off.  Note
	  that these are also controllable through the rcfile with 
	  "set keyboard_file foo.key" and "set show_tooltips off".
	- Replaced general-english cache since it was pretty slow in
   	  loading due to its size.  The resulting one may not be as
	  complete, but it hopefully won't take a 1/2 hour to load. :)
	- Replaced "Disable Tooltips" and "Enable Tooltips" options in the
	  menu system with "Show tooltips" toggle button
	- "make doc" changed to include latex2html/dvips documentation.
	- Latex2HTML documentation now installed by default and included
	  in the distribution.  It goes into
	  $(PREFIX)/share/gtkeyboard/manual-html
	- Old HTML manual has been REMOVED.

version 1.1.4 (NYI)
	- Tiny bugfixes only.

version 1.1.3 (November 3, 2000):
	- Doh!  Fixed cache file loading bug - cache files shouldn't be
	  used as initial load files.
	- Added a check for /usr/share/dict/american-english, which is
	  where debian likes to hide its dictionary.
	- Code cleanups and a few other thoroughly un-exciting things.
	
version 1.1.2:
	- Added a manpage for gtkeyboard written by R. P. C. Rodgers,
	  <rodgers@nlm.nih.gov>.  Thanks to him for this contribution.
	- Fixed bug for Debian GNU/Linux users where the dictionary file
	  was improperly loaded at the start of a word completion box.
	- Added a small fix to make the completer portion of the program
	  look in an additional place other than just /usr/dict/words for
	  the system dictionary.
	- The width of the program_info boxes is now dependant on which
	  font is being used via gdk_string_width.  This prevents the
	  boxes initially looking like ass because of different default
	  GTK+ fonts.
	- added the doc: target to the Makefile as well as extras to
	  clean:
	- Added the CACHE_FILE option to the rcfile to specify a default
	  cache file to use other than $HOME/.gtkeyboard-wordcache
	
version 1.1.1:
	- Added menus.c and redid all system menus that were previously
	  done through item factories in include/ui.h
	- Many menu items have been changed into check buttons rather than
	  multilayered menus.
        - Fixed segfault on opening the dictionary due to /usr/dict/words
	  not existing.  Most notably, debian didn't have it in that
	  location.  Oops.  
	- Added a few functions to completer.c to handle allocation of
	  filenames for cache files and such.
	- Added the "binding" class of functions in menus.c - helps
	  hide_widget() and unhide_widget() reconfigure the menus that
	  have check buttons dependent on options or ELEMENTS flags.
	- Changed the behavior of File->New.  Rather than asking you for a
	  filename, it just clears GUI.main_output_text and removes the
	  active filename.  Later, when the user tries to save, they will
	  have to specify a filename.
	- Changed File->Save As to pop up a new file selection dialog.
	- Removed all of the item factory nonsense from ui.h
	- Narrowed the program information box to make it look right for
	  the first time in a very, very long time.
	- Documentation updates to reflect menu changes.
	
version 1.1
	 - Fixed some really ugly problems with the installation procedure
	   via the Makefile.  I'm going to get around to using automake
	   one of these days...
	 - Introduced the new libwcomp code into the libwcomp directory
	 - Wrote completer.c which is a GUI front end to the completion
 	   code and allows users to click buttons to select particular
	   words.
	 - Reformatted all of the libwcomp/* code to GTKeyboard specs
	 - Verified that libwcomp/splay.c is in the public domain.  This
	   file was written primarily by Daniel Sleator
	   <sleator@cs.cmu.edu> http://www.cs.cmu.edu/~sleator/ with
	   modifications made by Dr. Tom <tomh@po.crl.go.jp> to fit with
	   the wcomp stuff.
	 - Updated the AUTHORS file to reflect the contributions of
	   Dr. Tom and Daniel Sleator
	 - Changed auxilliary documentation search path (in app.c) to
	   /usr/share/gtkeyboard because of the new way RPMs are built.
	 - Added the cache file conversion dialog for turning regular text
	   files into cache files.
	 - Lots of updates to the manual for more consistent style,
	   (things like all filenames are in <EM> tags and so on.)
	 - Fixed a few GTK-CRITICAL messages coming from the new
	   completion dialogs and cache file generation dialogs.
	 - Finally got around to tagging all of the source files with the
	   text found in TAG.  Shoulda written a shell script to do it. *sigh*.
	 - Added OPTI.key to the installation procedure in Makefile.in.
	   Oops.
	 - Wrote and added gtkeyboard-create-cache-file to the Misc/
	   directory and the installation.
	 - Debugging message tweaking - most things in completer.c are
  	   wrapped in ifdef COMPLETER_DEBUGGING statements
	
version 1.0 final Released April 18, 2000 18:12
         - Changed the default provided rcfile from examples.gtkeyboardrc
	   to CONFIG/defaults.gtkeyboard
	 - Changed the last resort resource file to roughly reflect
	   defaults.gtkeyboard. 
	 - By default, the buttonbar is hidden.
	 - Miscellanous tweaks to the supporting documentation in README,
	   INSTALL, TODO, and BUGS.
	 - Fixed segfault on some rare but bad keyboard definition files.
	   The program now refuses to read any further when it's
	   encountered an error with a map file. (Instead of tolerating
	   the errors)
	 - Fixed small remapping bug - if you don't erase the mappings of
	   the last keyboard, some remappings on the new keyboard may not
	   work correctly.  Fixed.  (Still needs testing)
	 - GTKeyboard now creates files that it needs that don't exist on 
	   startup.  (~/.gtkeyboard-shortcuts and ~/.gtkeyboard-layout)
	 - Added create_file() to 'touch' files with a default comment
	   (file_manip.c)

version 1.0 pre4
	 - Changed Double output menu item to the Options->Output menu
	   (was in Options)
	 - Added PROG_RXVT
	 - Fixed annoying bug where reset_application_defaults wasn't
	   forgetting GUI.font and GUI.kfont
	 - Did some code touchups that have nothing to do with
	   functionality - just consistency and style
         - Fixed the snafu where layout color/font wasn't saved if you
	   were on application defaults.
	 - Fixed several GDK_CRITICAL messages relating to badly free'd
	   styles
	 - Expanded the use of the CONDFREE() macro for better
	   readability.  CONDFREE is merely if(ptr){ g_free(ptr);
	   ptr=NULL; }
	 - Several fixes to rc file parsing to identify the lack of a
	   prefix in some variables that were being misread.  Also, more
	   commenting explaining some of the code in there.

version 1.0 pre3
	 - Spent several hours hunting bugs and cleaning up memory leaks.
	   I fixed everything I found, which was only a few things.
	 - Fixed several LARGE memory leaks.  They had to do with
	   dynamically allocated KEY structures (as signal data for
	   keyboard buttons) not getting freed when the widgets were
	   destroyed.
	 - Fixed a bug where switching keyboard layouts caused you to
	   lose your keyboard font if you had loaded that font from
	   ~/.gtkeyboard-layout.
         - Save Layout File now saves color/font information like it
	   should.  Autoload seems to be working too.
	 - Added html_em() to html.c to generate "<EM></EM>"

Version 1.0 pre2
	 - Added the ignore_layout_file option because my layout file was
	   pissing me off when I tried to test the CONFIG/*.gtkeyboard
	   files.
	 - Many updates to the documentation, particularly the variable
	   index section
	 - Please see the manual in the toolbar statements section for
	   changes in syntax.  Some changes were nessary to avoid conflicts
	   in terminology.  As a result, some toolbar items in
	   .gtkeyboardrc files may not work properly anymore.
	 - Fixed small hashing bug in rc_file.c
	 - Many small changes to files in CONFIG/ (example rc files)
	 - Fixed a slew of rc parsing bugs.  Mostly having to do with
 	   variable names overlapping and toolbar statements.  BTW, the
 	   "keyboard keyboard" statement has changed to 
	   "keyboard main_keyboard"
	 - Fixed color-clobbers-font-on-change bug.
	 - Fixed bug introduced in 0.98.5 where with the new rcfile
 	   parsing scheme a default rc file wasn't created if it didn't
	   exist.  It is now created if the program can't find an rc
	   file.  (From example.gtkeyboardrc provided with the source)

Version 1.0 pre1
	 - Fixed several style issues having to do with color change
	   causing your font to go back to default and font changes causing
	   the color to go back to the default, etc.
	 - Documentation updates, AUTHOR file updates.
	 - Added configuration option "handlebars" through
	   OPT_HANDLEBOXES.  If ON, then the pulloff GtkHandleBox's are
	   displayed.  If off, then they are not shown.  The default is now
	   been changed to OFF
	 - Fixed bug where the program hung when you selected a directory
	   as your .key file.  (oops)
	 - Added a new spec file for RPM building contributed by Valdemar
	   <valdemar@lemche.net> to the rpm/ directory
	 - Slight changes to CONFIG/ultra-compact-mode to set tooltips off.
	 - Lots of changes to example.gtkeyboardrc for the default RC
	   file.  More commenting and more uses of different variables for
	   the user to customize.
	 - Rewrote find_function and gtkeyboard_str_find so they actually
	   work now.  :)  Case-insensitive matching by default.
         - Fixed minor bug where button 2 on the mouse didn't necessarily
	   generate an upper case letter in redirect windows.
	 - Cleaned app.c of debugging messages by either enclosing in
	   #ifdef DEBUGGING, deleting, or commenting
	 - Removed check_if_need_to_save() permanently in favor of
	   options.document_modified.
	 - USE_REMOTE_CONTROL define's removed - remote control is always
	   compiled in.
	 - Removed heaps of old #if 0'd code from include/*.h
	
v.0.99 (released on March 7, 2000)
         - Added code to hide_widget() and show_widget() to manipulate 
	   the ELEMENTS structure in preparation for the "looks"
	   configuration file
	 - Added the save_layout_settings() function (callbacks.c)
	 - Added the load_layout_settings() function (callbacks.c)
	 - Added the rc_file.c and include/rc_file.h files contributed by
	   Patrick Gallot.  Parsing of rc files will change to this
	   format, hopefully with as little difference visible to the user
	   as possible.
	 - Changed most of the single bit items in include/adt to integers
	   instead of single bits so that they can be addressed via pointer.
	 - Changes to rc_file.c to allow for prefixes, and to allow for
	   value settings on integers to be specified as "on" (case
	   insensitive) to go to a value of 1.  (Special case needed since
	   atoi("on") => 0 which is wrong.  Ditto for "show"
	 - Changed rc_file.[ch] to allow function pointers for parsing by
	   different functions on certain prefixes or in certain
	   situations.  This allows for custom grammars when certain
	   varNames or prefixes are found.
	 - Finally replaced parse_rcfile with parse_user_resource_file()
	   which uses a completely different approach based on the new
	   rc_file.[ch] code.
	 - Eliminated the doc-fu/ directory altogether.  All it had in it
	   was hideously outdated completely irrelevant documentation.
	 - Eliminated Misc/source-trashcan - unused source from previous
	   versions.  The stuff/ and scripts/ directories with old
	   bug-testing utilities are also gone now.
	 - Replaced truly_misc.c: flush_everything() with a macro
	 - Added triple_callback() to build_keyboard.c:  New functionality
	   -> left clicking a button is the normal function for all
	   buttons.  Right clicking will always produce the "uppercase"
	   keysym, and middle clicking will always produce the "Alt GR"
	   keysym. 
	 - Fixed one obscure Shift bug when typing into the text buffer	
	 - Eliminated a few things out of the buglist in BUGS.
	 - Fixed cosmetic bug:  PrintScreen and those three buttons now
	   correctly line up with insert/home/page up
	 - Rearranged widget packing order in build_cursor_keys()
	   build_fkeys() and build_an_entire_keyboard(). 
	 - Added the keyboard_file option for a default keyboard layout on
	   startup. 
	 - Added the "keyboard" statements to configuration possibilities
	   for which subitems of the keyboard to show/hide.
	 - Fixed some cosmetic problems relating to showing/hiding.
	   (Previously if you hid the number pad and changed keyboards,
	   the number pad would pop up again)
	 - Added some different alternatives for default configurations.
	   Placed in ./CONFIG/
	 - Added FI.key for Finland/Sweden.  Please, I'm not Finnish or
	   Swedish, so if this is in any way incorrect, please send a
	   correction.
	 - Did some badly needed documentation updating.
	 - Merged file_foo.[ch] and file_utils.[ch] into one file:  
	   file_manip.[ch].  The other two are now gone.
	 - Fixed "no double quotes" bug in rc_file.c where strings whose
	   values weren't surrounded by double quotes weren't accepted.

v.0.98.7 (not released in tarball form)
         - Added configuration options "text_font" and "keyboard_font" for
	   autoloading of fonts through .gtkeyboardrc
	 - Disabled the find command again.  (still segfaulting but I
	   haven't done much with it recently)
	 - Code streamlining in rc_file.h
	 - Removed about 10 unused functions mostly from build_keyboard.c, 
	   irxevent.c, and callbacks.c
	
v.0.98.6 (not released in tarball form)
         - Window policy changes - disallow growing, but enable shrinking
	   and autoshrinking
	 - Fixed several segfaults relating to improper dialog
	   destruction.
	 - Added a flag to the options structure - "document_modified"
	   which is true if the document needs to be saved and false
	   otherwise.  check_if_need_to_save() eliminated.
	 - Inserting shortcuts now places the point after the text instead
	   of before it where it was before insertion.
	 - Code cleanups, and transferred a few functions to macros.
	 - A few fixes to remote_control.c, added as the <control>R
	   shortcut.
	 - Added tooltips enable/disable to the option menu, finished
	   fully specifying the keyboard with tooltips.
	 - Few small keyboard cosmetic fixes.
	 - Cosmetic changes to remote_control.c - the remote is now longer
	   and skinnier - xpms are smaller which gives it a smaller
	   desktop footprint.
	 - Showing/Hiding the main menubar (with file/edit, etc) finally
	   works again.
	
v.0.98.5 (Released about February 22, 2000)
	 - Added the [hide|show] statement possibilities to the toolbar
	 - Added the XPOS and YPOS options to the configuration file.  If
 	   they are set, the window moves to (XPOS, YPOS) at startup.
	 - Fixed that annoying bug where all program elements were shown
	   whenever you switched keyboards.
	 - Added BadWindow error handling to irxevent.c and
	   keysym_sendkey()
	 - Fixed follow_focus.c so that it won't accept GTKeyboard popup 
	   windows as redirect windows.  (Or at least anything with
	   GTKeyboard or gtkeyboard as part of the window title)
	 - Small cosmetic changes to a few popup windows including
	   annoying_popup() and find_dialog();
	 - Fixed a few small Makefile.in problems
	
v.0.98.4
	 - Fixed one or two segfaults with the Find File function
	 - Added <Control-F> for find-file 
	 - Need to hammer a linked list into options.* for holding
	   different keyboard layouts as well as as a few "header"
	   information fields to the (KEYBOARD *) structure.
	 - Wrote all of template.c (2/8/2000) for parsing files into
	   structures suitable for keyboard templates.  Needs work, but it
	   was quick and dirty, and it works.
	 - Wrote the KEYBOARD and KEY structures to hold keyboard
	   implementations. 
	 - Keyboard templates should be written with the QWERTY.key style
	   specified all with KeySyms and row values at the top of the file.
	 - Changed a LOT of code in build_keyboard.c - it's hooked up to
	   work with keyboard templates instead of the old header files
	 - Wrote keysym_callback() in build_keyboard.c which uses the
	   newly-written send_redirect_a_keysym() function in irxevent.c I
	   believe. 
	 - Worked briefly on the "find" code, and fixed a segfault I
	   believe
	 - Changed vanilla() to stop using insert_into_redirect_by_char()
	   which has been eliminated.  So has print_key() that old
	   warhorse that used to be responsible for all text insertion and
	   foreign window redirection.
	 - Cleaned up capitalization issues that came from using KeySyms.
	   several functions have been added to irxevent.c including one
	   which checks set bits in options.* and logical or's the mask to
	   the appropriate value for control/alt/shift keys.
	 - Removed the SMALL_WINDOWS option possibility.  It wasn't doing
	   anything, nobody seemed to use it, and it was crufty in the
	   code particularly with custom fonts.
	 - Added the EXTRA_FILES option.  set EXTRA_FILES "/some/dir/path"
	   helps GTKeyboard find files.
	 - Added the "follow_focus.c" code contributed by Patrick Gallot   
	 - Added all of the code to slurp in the name and keycodes for
	   a keyboard definition
	 - Merged in another patch from Patrick Gallot removing some old
	   cruft and fixing a segfault.
	
v.0.98.4pre
	 - Applied another patch provided by 
	   <francois.petitjean@bureauveritas.com> which fixed memory leaks
	   in winselect.c and made prechomp() in file_foo.c a lot more
	   simple.
	 - Changed window moving code so it will hopefully work correct
	   everywhere, and not just wherever it feels like it.
	 - Added the add_tooltip() function and threw in some tooltips.
	 - I'm in the process of reworking the way that keyboard
	   definitions are made.  Bear with me while I attempt to make
	   this much more extensible.

v.0.98.3
	 - Extremely ugly beta version where I didn't really document the
	   changes I made that religiously.  Most of the changes are
	   documented below at the end of the 0.98.2 source tree.  
	
v.0.98.2 
         - Moved the main menu to a handlebox along with everything else.
         - Added rcfile option ASK_REMAP_ON_EXIT.  If it is on, it will
	   ask you if you want to remap the keyboard before you exit the
	   program.
         - Fixed annoying bug where cancel button on the "Do you want to
	   save?" (at exit) just destroyed the dialog and didn't quit the
	   app.
         - Added a skeleton find function and a find dialog.  They may not
	   work correctly though, I'm going to test them.
         - kmanip.c coming along well, mostly maps things right.  Some
	   trouble mapping back to the original keyboard though.  The
	   error most likely has to do with difference in key numbers.
	 - Added many more octal codes to truly_misc.c which should
	   probably become an array with its own headerfile.
	 - Fixed advancing key buglet caused by a small pointer error in 
	   print_key() - CAPS LOCK/SHIFT should work fine with keys in the
	   output window now.
	 - Started work on kmanip.c and kmanip.h whose primary function
	   will be to remap keyboard KeyCode's and keys.
         - Switched caps_lock and shift modifier handling to primarily
	   send_redirect_a_key() rather than having print_key() mess with
 	   the values.
         - Changed much in truly_misc.c, added a SEND_DATA_TO_BOTH_WINDOWS
	   configuration option and a corresponding menu item in Options -
	   when enabled, it sends the keypress both to your redirect window
	   and to the regular text area.
         - Incorporated a patch from <benh@eeyore.moneng.mei.com> against
	   truly_misc.c and callbacks.c as well as changing the generation
	   of the makeshit.h file.
	 - Changed much of the case handling code in truly_misc.c from
	   silly static if/else if/else to switch() statements.  Less code
	   now, and a little cleaner.
	 - Added a configuration file option, "BORDERLESS" which actually
	   makes GTKeyboard classified as a popup menu, which is borderless
	   in most windowmanagers.  Many people are going to find this
	   option annoying so it's off by default, but it's a way to save
  	   more screen real estate and it was asked for.
	 - Many additions, fixes and streamlining is being applied to 
	   irxevent.c which should hopefully result in more foreign
	   keyboard friendly XEvent signal passing.
         - Fixed bug in build_keyboard.c - buffer overflow involving
	   str_pool() Ben Hochstedler <benh@eeyore.moneng.mei.com> pointed
	   out that if you switch layouts enough, GTKeyboard dumps core.
	   That doesn't happen anymore...or shouldn't, at least.
         - Pulloff bar positioning is now configurable -
	   left/right/top/bottom with "set pulloff position" in the .rc
	   file.  MANUAL.html updated to reflect.
	 - Fixed another buglet where options.workingfile was NULL.  Oops.
	   Most of these came about from the fact that no file is loaded
	   by default now.
         - Fixed buglet where hiding bottom row buttons only hid the row,
	   not the tearoff item as well.
         - Made most items in the gui tear-offable.  I will make this 
	   configurable as to if this happens by default later.
	 - Added nifty pixmapped buttons for Ok/Cancel which translate
	   with the language keyboard mapping that you're using.  
	 - Fixed several nasty bugs dealing with the fact that at exit,
	   options.workingfile *might* be NULL.
	 - Egads!  Did you realize that the MANUAL.html didn't include any 
	   information on switching keyboard layouts???  It does now.
	
v.0.98.1 circa 10/4/99
         - Added Save File As: dialog to the menus and bottom row buttons.
	   Shortened the bottom row buttons a bit
	 - GTKeyboard starts up with a fresh screen by default instead of
	   loading a file by default.
         - Added BUMP_AMOUNT config variable to the rcfile.  Default is
	   10.  It controls how much the window is offset when you use the
	   remote control
         - Debugging symbols are present by default, but the binary is
	   stripped when you install it.  (install -s) for people who wish
	   to debug gtkeyboard
	 - Remote control is coming along...it actually works now...
         - Changed default loaded file to $(gtkeyboard_share)/README
	 - Added preliminary code for gtkeyboard_remote_control.  It is
	   not currently compiled in by default because it isn't working
	   correctly yet.
         - Added ability to specify your own coordinates.  (in case
	   anybody wanted that)
         - Fixed a few miscellaneous build problems relating to $(DOCDIR) 
	   and $(CHANGELOG)
         - Added the "Ok" and "Cancel" entries to the keyboard files which
	   allows Ok and Cancel messages to appear in different languages.
	   Need to have some of these translated.  Right now they appear
	   just to show some possibilities.
         - Added gtkeyboard_positioning which is a radio popup packed into
	   tables that lets the user choose how to position the window on
	   screen. (gtkeyboard_positioning(), truly_misc.c )
	 - Added prechomp() to file_foo.c to eliminate leading whitespace
	   in lines before processing for the rcfile.  This *may*
	   segfault for you, although I can't get it to do it for me.
	   This way tokenizing doesn't mess up.
         - Converted most of the ugliness in file_foo.c to macros CHECK
	   and VERBOSEMSG to clear up the code a bit.  It's cleaner, but
	   now of course all you have to do to break all that code is
	   change one macro.  :)
         - Added customizeable toolbars to a certain extent through the
	   rcfile.  Basically, you do a statment like this:
	   toolbar <element> (on|off|1|0|show) on one line and that's it.
	   See the manual.
	 - Window positioning code added.  See the Options->Move menu.
         - Quite a bit of code cleanup for those of you who are hacking on
	   the project.  More commenting in include/adt.h as to what the
	   hell all of those fields are for.
         - New Makefile patch puts documentation/other files into 
	   /usr/local/share/gtkeyboard by default.  Of course $PREFIX
	   changes this.
         - Added ability to show/hide the pulldown menus.
	   Do it through the resource file with SHOW_MENU
	 - The build process is very much updated and improved thanks to a 
	   large patch from Ben Hochstedler <benh@eeyore.moneng.mei.com>
	 - Patch applied to fix a memory leak and Makefile issues
	   <fpetitje@bureauveritas.com>
	 - Rejoice!  The evil reign of strsep() is over.  It has been 
	   replaced with a much more reasonable glib alternative.  (Thanks
	   glib developers)
		    
v.0.98 about 9/10/99
	- Fixed irritating bug where you had to pop up the define
   	  shortcuts dialog before you could use them for the first
	  time.  If you have a predefined set through
	  .gtkeyboard-shortcuts now it will automagically load them.
	- Added memory debugging macros to include/mem_debug.h and
  	  converted all memory alloc/free routines to use them.  Good
	  for debugging, completely indifferent for use.  :)
	- With some tweaks, I am able to use the keyboard to redirect
	  into gtkeyboard's popups and type in what I want the new file
	  to be, although I don't know if other people will be able to
  	  do this.
	- Added "Hide all but keyboard" and "Show All" to Options->looks
	- Fixed some manual snafus, cleaned up code, checked memory,
   	  fixed one segfault.
	- Right click improved - works only for right click, but
	  it is only the Options menu as a shortcut.  I don't know how
	  to stick multiple menus inside a menu without massive
	  Gtk-Critical errors coming up for invalid casting from
	  GtkMenu to GtkMenuItem
	- Rudimentary right click context menu added to main text widget
	- Items to clear text and status texts added to
          Options->output in the main menus
	- Fixed segfault on redirecting foreign keys to other windows,
	  but it inserts a dummy key, not the right key. (Yet)
	- Rewrote make_key() in irxevent.c to use glib functions
     	  instead of strsep() or strtok().  Seems stable, should be much
	  more portable.  Let me know if anything is screwy.
	- Patched strsep() problem - should hopefully work now with
    	  systems that have neither strsep() nor <support.h>
	- Fixed problem where if you hid the main text window, the
          button row went with it.  Now you can hide/show them i
	  ndependently.
	- Added TODO file per request from Ben Hochstedler
	  <benh@eeyore.moneng.mei.com> along with many of his requests.
	- Miscellaneous documentation updates.
	- Changed SC_random_string to only output real keyboard characters.
	- Changed ALL strcasecmp() to g_strcasecmp() for portability.
	  glib provides it.
	- Changed all strerror() to g_strerror() for portability.
	- Updated the manual for keyboard font changing and so on.
	  Added a small troubleshooting section.
	- DISPLAY_ROW_BUTTONS is now OFF by default.  When you resize
	  the keyboard font to make things smaller, it prevents the
	  window from being resized correctly.  If you enable it in
	  the rcfile or by showing it through the options menu, it may
	  make the screen larger.
	- Added ability to define font on the keyboard to downsize the 
	  keyboard.  Second font button added to the toolbar.
	- Gutted master.h and moved all the appropriate prototypes to
	  their filename.h  (shortcuts.h, ui.h and others created in 
	  include/) added macro-fu.h and cleaned up gtkeyboard_mem_cleanup()
	- Added an author entry for Ben Hochstedler
	  <benh@eeyore.moneng.mei.com> who has sent at least two
	  patches.
	- Documentation install directory has now been changed from 
	  /usr/doc/gtkeyboard-VERSION to $(PREFIX)/share/gtkeyboard.
	- --prefix=whatever now works the way it should in the makefiles.
	- Added the pat/ directory for some patches on previous
	  versions that I have received...hopefully more info later.
	- Added include/checkheaders.h to spit out errors for things that
	  the package absolutely has to have to compile correctly.
	- Implemented cursor_up and cursor_down for non-foreign windows.
	  It doesn't work quite right, but I'll keep working on it.
	- Removed calls to gtkeyboard_save_shortcuts on exit since they
	  were clobbering some people's .gtkeyboard-shortcuts.  It is now
	  ONLY saved when the define dialog OK button is clicked.
	- Eliminated freezeit() and thawit() altogether - replaced by 
	  macros which aren't used much anyway.
	- Eliminated dozens of calls to freezeit() and thawit() since 
	  they were surrounding a vanilla() call which freezes/thaws for 
	  you.
	- Cleaned up usage() it was just long and ugly.
	- Added the INTERNALS file for a rough description of how
  	  things work in GTKeyboard.  It was originally written for some
	  of the patch contributors and for the curious.  It's rough and
	  dirty, so get from it whatever you can.

v.0.97.3 circa 8/25/99
	- Added a pixmap for when GTKeyboard is iconized.  (small picture of
	  part of the keyboard)
	- Added spanish keyboard (keyboards/es.h)
	- Fixed italian keyboard (keyboards/it.h)
	- Fixed CAPS LOCK button problem on foreign keyboards. Build_keyboard.c
	  should now  be pretty general about the way it builds things
	- Moved (hide|unhide)_output_text to (hide|unhide)_widget - 
	  just hiding output_text was antiquated.
	- Changed new file dialog box to a gtk_dialog();
	- Fixed small memory leak pointed out and patched by 
	  fpetitje@bureauveritas.com and _hopefully_ cleared up Solaris 
	  portability issues with -lsupport and <support.h>
	- Fixed coredump on selecting invalid fontname.  Probably.  It tests
	  the font by opening it.  If successful, it uses it, if not, 
	  it yells at the user.  Let me know if this coredumps on bad fonts
	  now.
	- Added gtkeyboard_error() for generic error messages with XBell()
	- Added several sections to the HTML manual about fonts, screen 
	  customization, colors, and so on.
	- Added toolbar and menu option to change color of the application
	  back to the default that the application started with.
	- Added toolbar option to change the color of all of the widgets
	  on the screen to a user chosen color.
	- Added xpms to the sides of the cursor keys to fill empty space.
	  if you specify that you want to randomize XPMs in your gtkeyboardrc,
          then it will create pseudo-random XPM images and stick them there.
	  Otherwise, those spots will be blank.  Randomizing XPMs will be OFF
	  by default.
	- Moved several files worth of prototypes out of master.h into their
	  own files
	- Font stuff got moved to stylish.c and stylish.h for non-static
 	  functions.  All the style stuff should be together.
	- Better organization of .h files.
	- Finally fixed the makefile to accept --prefix=whatever arguments.
	  I don't know if I didn't bother or didn't know how, but it's fixed
	  now.
	- Added xpm for getting a status report, and moved the close app 
	  toolbar xpm to the end of the row.
	- Bottom row buttons are back with an option to hide/show them in 
	  the options menu.
	- Some adjustments in OpenFile and file_ok_button because I did some
	  dumb things originally.
	- Several functions were migrated from truly_misc to more appropriate
	  files where you would expect to find them.
	- The look of the cursor pad/number pad is much more consistant now.
	  They were added into their own spaced tables - it makes signal 
	  connecting a bit more messy and not as extensible, but it looks
	  better and I'm hoping that most keyboards have very similar layouts
	  for those buttons.
	- Added ability to hide/show the toolbar and option to rcfile
	- Added toolbar icons to grab a window/ignore a window
	- Shortcuts are now saved every time you click "Ok" in the define
	  shortcuts box, at the cost of a bit of extra disk IO, it will now
	  keep better track.
	- Fixed displaying of toolbar buttons to user defined shortcuts.
	  xpm_s6 wasn't used and xpm_s1 was used twice
	- Added dialog.  If you click on an undefined user shortcut, it	
	  pops up a dialog asking you if you want to define it.
	- Fixed annoying little buglet when changing fonts - text was 
	  displayed in the main text widget rather than the status window.
	  Oops.  :)
	- GTKeyboard now saves the shortcuts when you quit.
	- GTKeyboard automagically loads your previous shortcuts and 
	  displays them in the window for you to change when you open the 
	  shortcut editing dialog.
	- The dawn of the golden era of the toolbar demanded the elimination
	  of the bottom row.  #define SHOW_BOTTOM_ROW_BUTTONS if you want
	  to see them.  I eliminated them for screen space.
v.0.97.2
	- Updated the manual to reflect addition of user shortcut support.
	- Added tag in rc file INFO_POPUP - if it is set, then when things
	  like file save successful/fail or toggling features are done,
	  it will pop up a small window and let you know what was changed
	  and what the new status is.  I think it's annoying, but some users
	  asked for it.  It will always be off by default.
	- Added all user shortcut pixmaps to toolbar.  (xpm_s1 <-> xpm_s6
	  and xpm_ds)
	- Added a total of 6 different pixmaps for the toolbar corresponding
	  to user shortcuts
	- Filed the define user shortcuts item under Options/
	- Filed listing of 6 user shortcuts under /Shortcuts/UserDef 
	  (item factories don't want to let me put a space in a "<Branch>" 
	  name...huh!)
	- Patched up the UI for defining user shorcuts
	- Wrote most of user_shortcuts.c as it is now.
	- Added gtkeyboard_mem_cleanup to simplify exiting from different
	  points in the program
	- Added font support for the main text box.  Mostly because people
	  were asking if they could enlarge/shrink the font.  A toolbar
	  button is on the toolbar to select the font
	- Miscellaneous Makefile issues taken care of
	- Added toolbar to the top of the main window.
	- Moved most header files to the include/ directory.
	- Fixed some button appearance issues with the french keyboard.
	- Put menus for changing keyboard layout under /Options/Layout/ in 
	  the menu
	- Finished implementing real-time switching between keyboard types.
	  I can't find any problems with it although it took a weird trick
	  to pull it off.  (???)
	- Fixed control, alt, tab, enter, backspace label displaying.  Forgot
	  to copy those values from keyboard files rather than to use dummies.
	- ALL keyboard .h files in keyboards/ got a major overhaul.  The
	  down side:  GTKeyboard is going to eat more memory.  The upside:
	  finishing up on changing keyboard layout on the fly.
	- HTMLized the MANUAL now as MANUAL.html
	- Combined LICENSE, About, to program_info with gint passing to 
	  determine what file to open, added support for Changelog and 
	  MANUAL  -- note that this of course requires that the files be in
	  place in /usr/doc/gtkeyboard-VERSIONNUMBER - not going to hard code
	  those files into the app.
	- Added more info for the --help option, where, when, and on what
	  box the program was compiled.
	- Renamed the source to unpack into gtkeyboard-whatever and now going
	  to distribute as gtkeyboard-version.tar.gz.  It was bad planning
	  to call the tarfiles and directories keyboard and is now just a
	  pain when it comes time to RPM and so on.
	- GTKeyboard now has a page on gnu.org and distribution tarballs 
	  on alpha.gnu.org -- http://www.gnu.org/software/gtkeyboard/ and
	  ftp://alpha.gnu.org/pub/gnu/gtkeyboard/
	- Added the spec file for building rpms of gtkeyboard
	- Eliminated some old useless debugging code, added some extra error
	  checking and other code candy to app.c
	- Fixed open file dialog problems.  I finally got around to it.	
	- Moved doc directory to doc-fu since the real documentation isn't 
	  there.
	- Fixed evil hang having to do with ask_save_on_exit and working with
	  device files - it won't check if you need to save if you're working
	  with any file that has "/dev/" in it.

v.0.97.1
	- David Allen built the RPMs for 0.97.1 this time around...never
	  bothered to learn, but finally did and found out how obscenely
	  easy it is to buid rpms, especially with a spec file to use as
	  reference.
	- Just before the release: I've cleaned up the memory issues that I
	  can find, and done a bit of work with g_mem_profile() and so on
	  provided by glib.  If you find any more outstanding memory issues
	  which I'm sure is possible, let me know about it - I've been talking
	  to people about gtk, and it seems that gtk+ does NOT free some of
	  the memory it uses up after exiting - supposedly that is taken care
	  of by the operating system.  I have cleaned everything I can find
	  at this time.
	- Fixed a ton of memory leaks (hopefully) due to a patch and 
	  suggestions from Nameless <fpetitje@bureauveritas.com> much help
	  and criticism of braindamaged code on my part.  Yeah, it was brutal,
	  but it helped.  Most calloc calls, (which were eventually g_free()'d)
	  have been changed to either g_new(), g_new0() or automatic variables.
	- Added a DVORAK keyboard layout 
	- Added german keyboard layout
	- Working on ability to dynamically change keyboard layout 
	  to qwerty/dvorak/user defined.
	- Added keyboards/ directory, which holds all the headers relating to
	  different keyboard layouts.
	- Changed the labeling of key buttons to copying from predefined
	  strings instead of having it hardcoded in.
	- Added octal-gen.sh and documentation on how to define your own
	  keyboards.  It's still kinda weak, but working on it.
	- Working towards changing keyboard on the fly - added 
	  build_an_entire_keyboard in build_keyboard.c and subtracted some
	  code from ui.c - now you just have to call that, it returns a
	  container with ALL keyboard elements packed into it.
	- Miscellaneous documentation updates, as well as added a note to 
	  INSTALL about compiling in different keyboards.
	- Added French keyboard (7/27/99)
	- Started work on Italian keyboard - it's still pretty messed up.
	- Fixed exiting problems that I had caused with earlier editing and
	  memory checking cruft.
	
v.0.97 (July 18, 1999)
	- Added a SHOW_TEXT optional configuration in .gtkeyboardrc so that
	  you can eliminate the bottom text widget altogether to save screen
	  space if you want.  Combined with SMALL_WINDOWS, it makes the app
	  much smaller on screen.
	- Added tooltips for the buttons on the bottom row.
	- Replaced several crudly hacked popup menus with gtk_dialog
	  objects that look much more consistant and that keep me from having
	  to screw around with set_usize on different resolutions.
	- Added hide/unhide main text widget -- no window resizing yet though.
	- Fixed bug with WORKING_FILE on startup - it always got clobbered
	  to /tmp/GTKeyboard no matter what you put in the config file.  Oops.
	- Added automatic shrinking/growing of window with hiding/showing
	  widgets.  Thanks to Havoc Pennington <hp@redhat.com> for his help
	  on gtk-list@redhat.com
	- Added option to hide status widget as well as main text widget.
	- Cleaned the hell out of the item factory declaration in master.h
	- Fixed discrepancy with using SHOW_ALL_WINDOW OFF and trying to 
	  hide/show the main text window.
	- Fixed config file bug that sometimes missed comments.  (???)
	- Did some mercy work on file_foo.c which is still horrible.
	- Spoke with the folks at gnu.org - there is now a buglist which is
	  mostly an alias for my email address - bug-gtkeyboard@gnu.org
	- Fixed annoying on again, off again line doubling on last line of
	  the file.

v.0.96
	- Added SMALL_WINDOWS option to the configuration file possibilities.
	  Using SMALL_WINDOWS makes the actual program about half the onscreen
	  size as usual, with a slight expense of clickability.  (Small keys,
	  widgets, etc)
	- Tweaked makefiles/configure etc.
	- Rewrote xwininfo.c to winselect.c with many changes, leaner, meaner
	  less extraneous nonsense, more GTKeyboard customizations, GPL'd. :)
	- Fixed segfault due to HOME key - it was caused because I was freeing
	  already freed memory.  
	- Redid the ALT key as a toggle button instead of regular button - that
	  was caused due to some SMALL_WINDOWS fooling around
	- Manual additions for new keys, and rcfile configuration options.
	- Fixed Home/End wrong signals

v.0.95  Finished somewhere around 7/9/1999
	- Added choose window and ignore window buttons to bottom bar
	- Added ignore_window function to get out of window redirects
	- Added spacers between the F-keys for a more consistent look
	- Fixed signal passing on foreign windows for the control keys 
	  just above the cursor keys
	- Added the UP and the DOWN cursors, although they don't do anything
	  within the context of regular text editing.
	- Added signal passing for Num Lock, Caps lock, left right up and 
	  down cursor keys
	- Changed location of about.data although the app still looks in 
	  several places.
	- Updated the makefiles so when you do a make install it does something
	  very similar to what rpms do when you install them.  Documentation
	  goes to /usr/doc/gtkeyboard-VERSION/ binaries go to /usr/bin and 
	  so on.
	- Added an uninstall target to makefile
	- Eliminated annoying rcfile parsing messages (Some of them anyway)
	- Got rid of those damn gdk warnings about null windows.  Really simple
	  fix that I should have had a month ago.  Done now.
	- Fixed the ESCAPE key signal passing to other windows.

v.0.9 About 7/(4-5)/99 or so.
	- Fixed segfault when choosing root window for redirect.  The program
	  now screams at you and gets you to choose again.
	- Got the F-keys and the ESC key working.  Hopefully.
	  Also got Print Screen working hopefully.  Sometimes it's a little
	  funky, so if you have any problems with it, let me know please.
	- Fixed yet another segfault at closing the program (Foolishly trying
	  to free memory that gtk_widget_destroy had freed for me)
	- Fixed delete_key problem with GTK_WARNING.
	- Fixed a few minor Makefile issues/autoconf/configure
	- Fixed question mark problem (wouldn't be displayed in foreign 
	  windows)
	- More stuff in the MANUAL, and moved it to its own doc subdirectory.
	- Fixed problem with F-Keys.  They should now send the proper signals.
	- Fixed :<>?" keys, and totally changed the function that sends the
	  redirect window a character at a time from a specified string.  It
	  now should work.  The timing for the keypresses is still a pain 
	  though and I'm going to see what I can do about it.
	- Changed time delay from 0.2 secs to 0.1 and then to 0.05 secs
	  (50,000 usec) in irxevent.c - makes things look a lot better and run
	  a lot faster - I don't know if there's a time limitation on the
	  fastest signal.
	- Fixed the look of the keypad display and the signal handlers 
	  relating to redirect windows that it uses.
	- The random string shortcut actually does just that - and added an
	  option to the RC file to specify the length of random strings on 
	  startup.  (file_foo.h, options RANDOM_STRLEN within RCFILE)
	- Merged docs.irxevent and doc for MANUAL in it.
	- Added module ext_progs.c - Eventually just that section is going
	  to need an entire configuration dialog and won't be doable through
	  predef'd macros.  (compile time customization ain't good enough)
	- Added new ability to launch common networking tools through rxvt
	  by default.  It's not configurable at all at this point, but
	  I'm working on it.  I chose RXVT because it seems to work best
	  with the signals I send it through X
	- Added HTML shorcuts for &nbsp, superscript, subscript, strikeout,
	  and a few others I think.
	- Updated and fixed some nastiness in ext_progs.c

v.0.85
	- Updated documentation for new window focus clicking
	- Fixed many problems with refocusing
	- Added other character definitions.  Previously things like & were
	  printed at 7.  Oops.
	- Added several new funcs in truly_misc.c which is probably going to 
	  get split off into a new file, xredirect.c Real Soon Now (tm)
	- Fixed GTK_IS_WIDGET problem in CloseApp().  Downside is that window
	  from ui.c is now global.
	- Added and updated parsing of RC files documented in MANUAL
	- Fixed bug in app.c - if a file didn't exist, couldn't check if 
	  needed to save - added ability to open in write mode in case it's
	  a new file.
	- Fixed really braindamaged bug on my part - in check_need_save_on_exit
	  it couldn't return true.  Oops.  :)
	- Fixed bug where program didn't load file on startup.  Done.
	- Fixed a memory leak, there are still some I think though.
	- Fixed small calloc bug by allocating an extra byte on some ptrs.

v.0.8   - Added a "Do you really want to quit" Dialog
	- Added a "Save file before exiting?" Dialog
	- Fixed buglet in CloseApp when destroying main window out of ui.c
	- Fixed compiler warnings for unused definitions in cursor_foo.h
	- Added a "Dump Core" option to the Debug submenu under help for
	  people who wanna debug with a core but just can't get it to 
	  segfault.  :) I've used it a few times.
	- Having problems with text widget length descriptions, but hey.
	- Added message on tearing off of menus. 
	- Added deserving people to the credits page.
	- Fixed pointer warning from master.h - kinda weird that ALL functions
	  in the itemfactories have to return void (or at least pretend they 
	  do)
	- Added option to change filename to save to on exit.
	- Resized closing windows to something realistic for 1024x768	
	- More thorough documentation in MANUAL added disclaimer and cleaned 
	  up.
	- Added 6 new HTML shortcuts.
	- Cleaned up some badass memory leaks that were in the program.
	- Added parsing options detailed in MANUAL now, sets options at 
	  startup of the program.
	- Added irxevent module, written by heinrich@zaphod.wh9.tu-dresden.de
	  originally for the lirc program.  Many thanks to him for this piece
	  of code.  At this point, the support is really horrible, but 
	  improving.
	- Added a totally stripped version of xwinselect from XFree86 into the
	  winselect directory for choosing windows.
	- Chooses windows and even forwards characters but it's very 
	  tempermental at this point.

v.0.7   - Renamed timestamp to SC_timestamp.  (shortcuts.c)
	- Cleaned up code - eliminated redundant and unused variables,
	  downsized some that needed it.  GTKeyboard uses less memory.
	- Fixed up menus - more organization and better quickkeys
	- Added beginning and end of line functions
	- Working on redrawing the cursor for positioning
	- Added word wrap toggle to configurationing
	- Added num lock toggle to configuration.
	- Added a keypad (NUM LOCK, 0-9, /, *, -, +, \n, .)
	- Added a cursor keypad  (Up and down not finished yet)
	- Added the row of fkeys, which currently have no function. (soon)
	- Cleaned up the positioning of the cursor keys and the number pad.
	- Much much more text in the MANUAL for beginners to read
	- Added splash window under help menu.  Just one big button. But purty.
	- Added select all button to bottom row.
	- Fixed bug to goto_bol - should work fine now.  (Nix segfault)
	- Cleaned up master.h to allow for compiling with -Wall with no errors.
	- Each module has its own definition (i.e. in app.c, #define APP_C)

	--== UI CHANGES ==--
	- Screen is much wider with addition of cursor keys and keypad.
	- Added pixmaps for cursor keys
	- Added HOME, END, DELETE buttons above the keypad.

v.0.6   - Fixed segfault on exiting with Close App button
	- Added extremely minimal support for rcfiles.  Need suggestions as
	  to which aspects people want configurable via the rc files.  Doesn't
	  actually parse the file yet.
	- Much smaller footprint since so much redundant code and declarations
	  were eliminated.
	- Greatly improved the compiling process, so it should go smoother
	  on other machines other than straight redhat.  (check configure.in)
	- New html shortcuts for creating tables, HTML comments, etc.
	  added all header tags, etc.
	- Added saving of the status buffer to the file gtkeyboard.status.txt
	  and the ability to toggle whether or not it is saved.
	- More usage of the status buffer for messages.  Hopefully I'll build
	  something in to make this configurable. (How many messages are 
	  displayed)
	- Added new structure to describe program options.  (opt options in 
	  master.h - should not be declared static)  Please email me about
	  any problems/issues that might bring up.
	- Documented build_keyboard better.
	- Eliminated code is still available if you email me.  Retired 
	  functions include selection, all of handlers.c, xpm.c, 
	  setup_output_box, alphabet_handler, get_index_of all no longer
	  used.

	--== UI Changes ==--
	- Retired /_File/Output
	- Merged the Cursor and the Misc menus into Misc
	- Retired the Cursor menu (merged)
	- Added clear status button to bottom row.
	- Subcategorized the Shortcuts and HTML quick menus and cleaned up.

v.0.5	- Lots of code cleanup
	- Fixed about bug - forgot that most people weren't executing from
	  the directory that about.data was in (stupid)
	- Dropped debugging symbols from being compiled in.  If you are a 
	  developer and need them, then just put -g in the CFLAGS in the 
	  makefile or ask me for help.  (Smaller binaries)
	- Documentation updates
	- Added shortcuts, like SC_paragraph, and others.
	- Fixed about window's looks/size
	- Added freezeit() and thawit() to html_mode.c - helps with cursor
	  updating when using HTML/Shortcuts

v0.45
	- A fix release - it's up on the page but probably won't be announced
	  anywhere.  Fixed some compilation problems, added a target to build
	  a static binary
	- Added a statically linked binary to the page for download.
	- Eliminated stream and outstream definitions from master.h  That was
	  very old stuff, and wasn't really used, so I regexped them out of
	  the source to reflect stdout and stderr instead.  I had intended to
	  do something with that earlier that never happened.
v0.4	
	- By request, added a shortcuts menu for repetitive little stuff
	- Added an beginning-of-file and end-of-file function
	- Added an output menu - so users can change the output to the device
	  of their choice rather than a file.  The only current ones are the
	  printer, "/dev/printer" and the console - "/dev/console" which need
	  to be configured in appdefs.h to be correct by the user prior to
	  compilation depending on the system.
	- Added slide bars to some windows that needed them, like the about
	  and the license window.
	- Finished CUT, COPY, and PASTE menu items in /_Edit (master.h) I 
	  can't believe I forgot to do that before now.

v0.3
	- Pretty much finished laying out the QWERTY keyboard.  The code to
	  do it is pretty ugly though, and I'm going to work on that.
	  It's got 2 shift keys though, and everything you'd expect except
	  Control and Alt keys.  (Even if I put them in, they wouldn't do 
	  anything just yet)
	- Fixed the psycho no-closing license and about windows.  (wrong
	  signal attached originally)
	- Rewrote callback() into print_key with different goodies.
	- More callbacks.
	- A lot of housecleaning in master.h - it was getting way too ugly.
	- reorganization of the way files are #included
	- Miscellaneous bugfixes
	- Fixed capslock bug where if capslock was on, it would print $ 
	  instead of 4	
	- JWZ emailed me about his application, xkeycaps, which I looked over,
	  and I'm hopefully going to be adding some of his code that he used
	  to type 'at' certain windows soon.  Check out xkeycaps if you're
	  interested, it's a good application.  (www.jwz.org)
	- Fixed cursor_right buglet
	- Updated the screenshot.

v0.2  - Whenever
	- Fixed width of the status and the text output boxes.
	- Finished the open feature - you can now open files.  There are still
	  problems with renaming/deleting files using the file selection 
	  dialog box under the open command, and I'm working on it, but I don't
	  know why it is right now.
	- Added a clear all button to the output text widget - one click and
	  everything is cleared.
	- Added safety popup feature "Are you sure?" etc. so users won't
	  accidentally delete all text with the clear all button
	- Rearranged buttons on bottom row to make more sense.
	- Added screenshot of the program to the homepage http://opop.nols.com/
	- Need to find a more sane way to display the LICENSE but haven't found
	  one yet.
	- Threw in a few extra callbacks and small fixes, like handling
	  delete_event for different windows instead of ignoring it.
	- Started to work out a QWERTY keyboard.  I'm working on it.

v0.11 - 5/13/99
	- Added 5 more html modes (center, image, paragraph, list, list item)
	- Added "Misc" menu that currently does nothing
	- Worked on LICENSE menu option under Help menu
	- Fixed SEGFAULT on exiting with button - due to my laziness in the
	  first place.
v0.1 - 5/13/99
	- Lots of bugfixes
	- Support for changing filenames
	- Fixed really psychotic Makefile building problem
	- changed DEFAULT_FILENAME to workingfile
	- Obsoleted the setup_output_box function - still haven't removed it
	  though for different reasons. 
	- Added more tags to the HTML menu.  I'm going to have to get around
	  to categorizing and subcategorizing them one day. :)
	- Fixed one segfault on exit - one to go I think.
	- Added a rudimentary MANUAL file for new users.  (Everybody is.  It's
	  a new application)
	- Fixed bug where when you opened the output window, subsequent button
	  pressing caused GTK-CRITICAL messages.  (Disabled output window)

v0.02 - 5/12/99:
	- Added output box to the bottom of the main window rather
	  than in an outside window.  Looks better to me.
	- Changed callback() around a lot so that it adds text to the
	  output window below the main window
	- Fixed bug with backspace key in the output window
	- Added left and right cursor keys for the GTK- text window
	- Added a minor HTML editing mode - far from complete, but you'll
	  get the idea anyway.  Those functions are really easy to write and
	  stick into the program, so if anybody needs to have more specific
	  ones, let me know.
	- Fixed file save bug.
	- Text colors and fonts are not implemented yet as that's pretty 
	  low on my priority list.
	- Code cleanup
	- Cursor menu and HTML menu added.
	- Cleaned up the about window to look prettier and display version
	  number (VERSION in master.h)

v0.01 - 5/11/99:
	- Initial release.  There's a lot to be done still.  At least
	  it's barely functional, and may be of use to some users.
	  Implemented all of the absolute basics.
