developers, including those developing proprietary software, without any
license fees or royalties.
-The official ftp site is:
+The official download locations are:
ftp://ftp.gtk.org/pub/gtk
+ http://download.gnome.org/sources/gtk+
The official web site is:
http://www.gtk.org/
Information about mailing lists can be found at
- http://www.gtk.org/mailinglists.html
+ http://www.gtk.org/mailing-lists.php
+
Installation
============
See the file 'INSTALL'
-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.
+How to report bugs
+==================
- - 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:
+Bugs should be reported to the GNOME bug tracking system.
+(http://bugzilla.gnome.org, product glib.) You will need
+to create an account for yourself.
- gtk-key-theme-name = "Emacs"
-
- To your ~/.gtkrc-2.0
+In the bug report please include:
- - Editing of menu accelerators by pressing an accelerator over the
- menu item is disabled by default. To enable, it, add:
+* Information about your system. For instance:
- gtk-can-change-accels = 1
+ - What operating system and version
+ - For Linux, what version of the C library
- to your ~/.gtkrc-2.0
+ And anything else you think is relevant.
- - 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:
+* How to reproduce the bug.
- gtk-entry-select-on-focus = 0
-
- to your ~/.gtkrc-2.0
+ If you can reproduce it with one of the test programs that are built
+ in the tests/ 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.
-* 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.
+* If the bug was a crash, the exact text that was printed out
+ when the crash occured.
-* 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+:
+* Further information such as stack traces may be useful, but
+ is not necessary.
- - 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.
- - Do not use Xft version 1 directly in your applications.
+Patches
+=======
-* 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.
+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.
-* 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.
+Otherwise, enter a new bug report that describes the patch,
+and attach the patch to that bug report.
- GDK_USE_XFT=1
- export GDK_USE_XFT
+Patches should be in unified diff form. (The -up option to GNU diff.)
-* 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.
+Release notes for 3.4
+=====================
-* 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.
+* Scroll events have been separated from button events, and smooth
+ scrolling has been added with a separate event mask. Widgets now
+ need to have either GDK_SCROLL_MASK or GDK_SMOOTH_SCROLL_MASK in
+ their event mask to receive scroll events.
- 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
+* GTK+ now uses <Primary> instead of <Control> in keyboard accelerators,
+ for improved cross-platform handling. This should not affect
+ applications, unless they parse or create these accelerator
+ manually.
- Best integration of GTK+-2.2 with the environment is achieved by
- using a UTF-8 locale.
+* The tacit assumption that the Alt key corresponds to the MOD1
+ modifier under X11 is now a hard requirement.
-How to report bugs
-==================
+* The beagle search backend for the file chooser has been dropped.
+ Tracker is the only supported search backend on Linux now.
-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:
+* GtkNotebook has been changed to destroy its action widgets when
+ it gets destroyed itself. If your application is using action
+ widgets in notebooks, you may have to adjust your code to take
+ this into account.
- - What operating system and version
- - What version of X
- - For Linux, what version of the C library
+* GtkApplication no longer uses the gtk mainloop wrappers, so
+ it is no longer possible to use gtk_main_quit() to stop it.
- And anything else you think is relevant.
+* The -uninstalled variants of the pkg-config files have been dropped.
-* How to reproduce the bug.
+* Excessive dependencies have been culled from Requires: lines
+ in .pc files. Dependent modules may have to declare dependencies
+ that there were getting 'for free' in the past.
- 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.
-* If the bug was a crash, the exact text that was printed out when the
- crash occured.
+Release notes for 3.2
+=====================
-* 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.
+* The accessible implementations for GTK+ widgets have been integrated
+ into libgtk itself, and the gail module does not exist anymore. This
+ change should not affect applications very much.
-Patches
-=======
+Release notes for 3.0
+=====================
+
+* GTK+ 3 is a major new version of GTK+, which is parallel installable
+ with GTK+ 2.x. For information about porting applications from GTK+ 2.x
+ to GTK+ 3, see the file:
+
+ docs/reference/gtk/html/migrating.html
-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.
+ Or online at:
-Otherwise, enter a new bug report that describes the patch, and attach
-the patch to that bug report.
+ http://library.gnome.org/devel/gtk/3.0/migrating.html
-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.)
+* Note that the library sonames in this release have been changed from
+ libgtk-3.0 and libgdk-3.0 to libgtk-3 and libgdk-3, to prevent the
+ library versions from going backwards, compared to the 2.90/91/99
+ releases. Applications will have to be recompiled.