General Information
===================
-This is GTK+ version 2.3.1. GTK+ is a multi-platform toolkit for
+This is GTK+ version 2.9.0. GTK+ is a multi-platform toolkit for
creating graphical user interfaces. Offering a complete set of widgets,
GTK+ is suitable for projects ranging from small one-off projects to
complete application suites.
See the file 'INSTALL'
-Release notes
-=============
+Release notes for 2.10
+======================
+
+* The hexadecimal Unicode input feature has been reworked. It no longer
+ blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
+ it only uses Ctrl-Shift-u.
-* As compared to GTK+-1.2, the default configuration of GTK+-2 has been
- stream-lined to reduce confusion on the part of new users or users
- coming from other environments. Users used to older versions of
- GTK+ may want to make some adjustments to the default configuration.
+* A memory leak in GtkStyle handling has been fixed. This may expose bugs
+ in third-party widgets which forget to call gtk_style_attach() in their
+ realize functions.
- - Emacs keybindings such as Control-A and Control-E to move to the
- ends of lines are not enabled by default in the editing widgets. To
- turn on Emacs keybindings, add the line:
+* Range widgets like GtkScrollbar now render their arrows insensitive
+ when the slider is at the end. Applications which react to arrow
+ clicks even if the slider is at the end may want to use the new
+ gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
+ prevent the arrows from being rendered insensitive.
- gtk-key-theme-name = "Emacs"
-
- To your ~/.gtkrc-2.0
+* GtkObject now uses the "floating reference" support in GObject.
+ GTK_OBJECT_IS_FLOATING() will still work, but direct checking
+ of the GTK_FLOATING flag will no longer detect the floating
+ reference. Details about floating references can be found in the docs:
+ http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#floating-ref
- - Editing of menu accelerators by pressing an accelerator over the
- menu item is disabled by default. To enable, it, add:
+* Suffixes like (_F) are now stripped from labels when they are displayed
+ in toolbars. If this is not wanted, the feature can be suppressed by
+ inserting a Unicode control character, e.g ZWNJ.
- gtk-can-change-accels = 1
+* The pixbuf theme engine can now customize expanders (in GtkTreeView
+ and GtkExpander) and resize grips, using the new EXPANDER and
+ RESIZE_GRIP function values.
- to your ~/.gtkrc-2.0
+* Dialogs created by gtk_about_dialog_new no longer hide automatically
+ when the user clicks close. It is the applications responsibility to
+ hide or destroy the dialog.
- - To improve useability for keyboard operation, GTK+ now selects the
- contents of an entry when tabbing into it or when it is focused on
- initial window map. To disable this behavior, add:
+* Several new signals have been added to GtkNotebook. Care has been taken
+ to choose signal names which do not collide with signals added by well-known
+ derived classes. The names which can no longer be used for signals in
+ objects derived from GtkNotebook are page-reordered, page-removed and
+ page-added.
+
+Release notes
+=============
- gtk-entry-select-on-focus = 0
-
- to your ~/.gtkrc-2.0
+* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
+ a clipboard manager following the specification at
+ http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
+ must be running. A sample implementation of such a clipboard manager
+ is available at
+ http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
+ Applications can use the function gdk_display_supports_clipboard_persistence()
+ to find out if clipboard persistence is available.
+
+* Notification on clipboard ownership changes via GdkOwnerChange events
+ requires the XFIXES X extension. Applications can use the function
+ gdk_display_supports_selection_notification() to find out if ownerchip
+ change notification is available.
+
+* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme
+ specification. Setting the XDG_DATA_DIRS environtment variable may be
+ necessary if your icons aren't installed in the default location
+ /usr/share/icons.
+
+* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
+ to avoid a lot of disk searching overhead. GTK+ includes a utility named
+ gtk-update-icon-cache to generate these cache files. For further details,
+ see the gtk-update-icon-cache man page or the GTK+ documentation.
+
+* To reduce code size and improve efficiency, GTK+, when compiled
+ with the GNU toolchain, has separate internal and external entry
+ points for exported functions. The internal names, which begin with
+ IA__, may be seen when debugging a GTK+ program.
+
+* The following functions have been deprecated in GTK+ 2.6:
+ gdk_pango_context_set_colormap
+ gtk_cell_renderer_editing_canceled
+
+* The new GtkFileChooser widget emphasizes simplicity and thus does
+ not provide a navigation entry by default when opening files.
+ Experienced command line users will likely want to make heavy use of
+ the location dialog brought up by the Control-L key shortcut.
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
- use these private symbols.
-
-* GTK+-2.3 now requires version 2 of Xft; old fashioned core X
- fonts are no longer supported.
-
-* There is a bug in the Xft library in XFree86-4.1 and possibly previous
- versions that causes random crashes when using the Pango Xft
- backend. If you want to use Xft fonts, you should upgrade to
- at least XFree86-4.2.
-
-* The gdk_pixbuf_xlib library included in the contrib/ directory of GTK+
- is provided on a as-is basis and has not been tested at all. No
- guarantees about the degree of workingness or about future
+ use these private symbols. In addition to that, GTK+ 2.6 makes several
+ symbols private which were not in any installed header files and
+ were never intended to be exported.
+
+* The gdk_pixbuf_xlib library included in the contrib/ directory
+ and the framebuffer GDK backend included in the gdk/linux-fb directory
+ of GTK+ are provided on an as-is basis and have not been tested at all.
+ No guarantees about the degree of workingness or about future
compatibility are provided.
-* While efforts have been made to make gdk-pixbuf robust against
- invalid images, using gdk-pixbuf to load untrusted data
- is not recommended, due to the likelyhood that there are
- additional problems where an invalid image could cause
- gdk-pixbuf to crash or worse.
-
-* The assumption of GLib and GTK+ by default is that filenames on the
- filesystem are encoded in UTF-8 rather than the encoding of the locale;
- The GTK+ developers consider that having filenames whose interpretation
+* On Unix, the assumption of GLib and GTK+ by default is that filenames on
+ the filesystem are encoded in UTF-8 rather than the encoding of the locale;
+ the GTK+ developers consider that having filenames whose interpretation
depends on the current locale is fundamentally a bad idea.
- If you have filenames encoded in the encoding of your locale, then
- you may want to set the G_BROKEN_FILENAMES environment variable:
+ If you have filenames encoded in the encoding of your locale, then you
+ may want to set the G_FILENAME_ENCODING environment variable:
- G_BROKEN_FILENAMES=1
- export G_BROKEN_FILENAMES
+ G_FILENAME_ENCODING=@locale
+ export G_FILENAME_ENCODING
- Best integration of GTK+-2.2 with the environment is achieved by
+ (Earlier versions of GLib 2.x required a different environment variable
+ setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
+ is still supported, but G_FILENAME_ENCODING is preferred.)
+ Best integration of GTK+ 2.6 with the environment is achieved by
using a UTF-8 locale.
+ On Windows, filenames passed to GTK+ should always be in UTF-8, as
+ in GLib 2.6. This is different than in previous versions of GTK+
+ where the system codepage was used. As in GLib, for DLL ABI
+ stability, applications built against previous versions of GTK+ will
+ use entry points providing the old semantics.
+
+ When compiling against GTK+ 2.6, applications intended to be
+ portable to Windows must take the UTF-8 file name encoding into
+ consideration, and use the gstdio wrappers to access files whose
+ names have been constructed from strings returned from GTK+ or GLib.
+
How to report bugs
==================
* How to reproduce the bug.
- If you can reproduce it with the testgtk program that is built in the
- gtk/ subdirectory, that will be most convenient. Otherwise, please
- include a short test program that exhibits the behavior. As a last
- resort, you can also provide a pointer to a larger piece of software
+ If you can reproduce it with one of the tests or demos built with GTK+,
+ such as demos/gtk-demo/gtk-demo, that would be most convenient. Otherwise,
+ please include a short test program that exhibits the behavior. As a
+ last resort, you can also provide a pointer to a larger piece of software
that can be downloaded.
* If the bug was a crash, the exact text that was printed out when the
the patch to that bug report.
Bug reports containing patches should include the PATCH keyword in their
-keyword fields. If the patch adds to or changes the GTK programming
+keyword fields. If the patch adds to or changes the GTK+ programming
interface, the API keyword should also be included.
Patches should be in unified diff form. (The -u option to GNU diff.)