General Information
===================
-This is GTK+ version 1.3.2. GTK+, which stands for the Gimp ToolKit,
-is a library for creating graphical user interfaces for the X Window
-System. It is designed to be small, efficient, and flexible. GTK+ is
-written in C with a very object-oriented approach.
+This is GTK+ version 2.2.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.
+
+GTK+ is free software and part of the GNU Project. However, the
+licensing terms for GTK+, the GNU LGPL, allow it to be used by all
+developers, including those developing proprietary software, without any
+license fees or royalties.
The official ftp site is:
ftp://ftp.gtk.org/pub/gtk
The official web site is:
http://www.gtk.org/
-A mailing list is located at:
- gtk-list@redhat.com
-
-To subscribe: mail -s subscribe gtk-list-request@redhat.com < /dev/null
-(Send mail to gtk-list-request@redhat.com with the subject "subscribe")
+Information about mailing lists can be found at
+ http://www.gtk.org/mailinglists.html
Installation
============
See the file 'INSTALL'
-How to report bugs
-==================
+Release notes
+=============
+
+* 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.
+
+ - 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:
+
+ gtk-key-theme-name = "Emacs"
+
+ To your ~/.gtkrc-2.0
+
+ - Editing of menu accelerators by pressing an accelerator over the
+ menu item is disabled by default. To enable, it, add:
+
+ gtk-can-change-accels = 1
+
+ to your ~/.gtkrc-2.0
+
+ - 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:
+
+ gtk-entry-select-on-focus = 0
+
+ to your ~/.gtkrc-2.0
+
+* 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.2 can be build either with Pango-1.0 and version 1 of
+ the Xft library or Pango-1.2 and version 2 of the Xft library
+ (Xft is used to to display anti-aliased fonts) By default, GTK+ and
+ Pango are built so that applications will not have explicit dependencies
+ on either version of Xft. To make sure that your application will be
+ binary compatible with future versions of GTK+:
-Bugs should be reported to the GNOME bug tracking
-system. (http://bugs.gnome.org). To report a problem
-about GTK+, send mail to submit@bugs.gnome.org.
+ - Do not configure Pango or GTK+ with the --enable-static or
+ --enable-explicit-deps options, since they will cause dependencies
+ on the particular version of Xft.
-The subject of the mail should describe your problem.
-In the body of the mail, you should first include
-a "pseudo-header" that gives the package and
-version number. This should be separated by a blank
-line from the actual headers.
+ - Do not use Xft version 1 directly in your applications.
- Package: gtk+
- Version: 1.3.2
+* 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
+ XFree86-4.2.
-[ Please substitute 1.3.2 with the version of GTK+ that
- you have installed ]
+* Xft support is on by default when using Xft2 but off by
+ default when using Xft1. To change this default, set the
+ variable GDK_USE_XFT to '1' or '0'. For instance, to
+ turn on Xft fonts when Xft1.
-Then describe the bug. Include:
+ GDK_USE_XFT=1
+ export GDK_USE_XFT
+* 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
+ 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
+ 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:
+
+ G_BROKEN_FILENAMES=1
+ export G_BROKEN_FILENAMES
+
+ Best integration of GTK+-2.2 with the environment is achieved by
+ using a UTF-8 locale.
+
+How to report bugs
+==================
+
+Bugs should be reported to the GNOME bug tracking system.
+(http://bugzilla.gnome.org, product gtk+.) You will need to create an
+account for yourself.
+
+In the bug report please include:
+
* Information about your system. For instance:
- What operating system and version
* 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 that can be downloaded.
-
- (Bugs that can be reproduced within the GIMP are almost as good
- as bugs that can be reproduced in testgtk. If you are reporting a
- bug found with the GIMP, please include the version number of the GIMP
- you are using)
-
-* If the bug was a crash, the exact text that was printed out
- when the crash occured.
-
-* Further information such as stack traces may be useful, but
- is not necessary. If you do send a stack trace, and the error
- is an X error, it will be more useful if the stacktrace
- is produced running the test program with the --sync command
- line option.
+ 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
+ that can be downloaded.
-An example of a bug report:
+* If the bug was a crash, the exact text that was printed out when the
+ crash occured.
-====
-To: submit@bugs.gnome.org
-From: yourname@your.address.org
-Subject: handlebox test in testgtk is misnamed.
-
-Package: gtk+
-Version: 1.3.2
-
-When I run gtk/testgtk, the button "handle box"
-is misnamed. There are multiple handle boxes in
-the demo, so it should be "handle boxes", to
-be like "buttons" or "check buttons".
-===
+* Further information such as stack traces may be useful, but is not
+ necessary. If you do send a stack trace, and the error is an X error,
+ it will be more useful if the stacktrace is produced running the test
+ program with the --sync command line option.
Patches
=======
-Patches can be uploaded to the incoming/ directory on
-ftp.gtk.org. Please follow the instructions there, and include
-your name and email address in the README file.
+Patches should also be submitted to bugzilla.gnome.org. If the patch
+fixes an existing bug, add the patch as an attachment to that bug
+report.
+
+Otherwise, enter a new bug report that describes the patch, and attach
+the patch to that bug report.
-If the patch fixes a bug, it is usually a good idea to include
-all the information described in "How to Report Bugs".
+Bug reports containing patches should include the PATCH keyword in their
+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.)