NOTE, this file is for changes since 0.99.5 since 0.99.6 didn't
install gtk.m4 (and so 0.99.7 includes very few differences
since 0.99.6).

---------

We have found it necessary to make some significant changes
since the 0.99.5 release. For this reason, this release is
not 1.0, but instead 0.99.6. We hope to release 1.0 within
the next few days.

The following gives detailed instructions about a few modifications
that need to be made to GTK programs and their configuration
scripts. In most cases, these modifications should be quite trivial
and only take a few minutes to do.

(The appropriate modifications have already been made to the
version of the GIMP in the CVS repository)

 - The way "delete_event" works has been changed (again)
   
  To briefly summarize the current state:

  When the user deletes an application window via the window manager,
  a "delete_event" event will be generated. If there is no handler
  for "delete_event" or the handler returns FALSE, the window will
  be destroyed. If the handler returns TRUE, nothing will happen.

  If your program was already handling delete events correctly,
  the only necessary change is to reverse the return values of
  your "delete_event" handlers.

  Otherwise, you must make sure that the "delete_event" leaves your
  application in a consistent state.

  There are several ways to do this:

  * Prevent the window from being destroyed by connecting a 
    signal handler to "delete_event" that returns true.

     gtk_signal_connect (GTK_OBJECT (window), "delete_event",
                         GTK_SIGNAL_FUNC (gtk_true), NULL);

    However, the user should be able to close your window through
    the window manager so this is a bad solution.

  * Connect a signal handler that simply hides the window
    instead of destroying it. (You need then to provide a 
    mechanism for the user to un-hide the window)

     gtk_signal_connect (GTK_OBJECT (window), "delete_event",
                         GTK_SIGNAL_FUNC (gtk_widget_hide_on_delete), NULL);

  * (The best option). Connect a signal handler to "destroy"
    that does the necessary cleanup when your window is destroyed.

    It is often convienient to organize things so that when 
    the user closes the window without using the window manager,
    your application simply calls gtk_widget_destroy (window).

    That case can then be handled by the same "destroy" handler
    that is used when the window is deleted through the WM.

- The libtool version has been upgraded to 1.1. This upgrade
  fixes a considerable number of bugs. However, shared library
  dependencies are disabled in this version, so you must 
  make sure your programs are linked against _all_ libraries
  GTK uses. (This is a good thing to do in any case, because not
  all systems support shared library dependencies)

  The simplest way to do this is to use the new gtk-config script
  and AM_PATH_GTK automake macro included with the new release.
  
  See below.

- glibconfig.h has moved from $includedir (default /usr/local/)
  to $libdir/glib/include (default /usr/local/lib/glib/include),
  to support sharing header files between architectures.

  Please remove the header file from the old location.
   
  The new include directory needs to be specified when compiling
  GTK programs. Again, the easiest way to get this right is
  to use AM_PATH_GTK, and/or gtk-config.

- New support for configuring packages that use GTK is provided,
  in the form of a shell script 'gtk-config' generated by configure
  and an automake macro which automates the process of determining
  the correct libraries and include directories for GTK.

  See docs/gtk-config.txt for details and examples.