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'
-GTK+-2.0.0 Specific Notes
-=========================
-* The default configuration of GTK+ 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. The intention was not to export
- symbols beginning with prefixes such as _gtk, _gdk, and _pango from
- the libraries at all, but due to a bug in libtool, they are actually
- exported at the moment on some platforms (including Linux).
- Applications that use these private symbols _will_ break when
- this bug is fixed.
+* If the bug was a crash, the exact text that was printed out
+ when the crash occured.
-* The Xft library that GTK+ uses to display anti-aliased fonts will
- undergo a major version revision in the next few months. To deal with
- this, by default, GTK+ and Pango are built so that applications will
- not have explicit dependencies on version 1 on 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 otions, since they will cause dependencies on
- Xft version 1.
- - Do not use Xft directly in your applicatons.
+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 not on by default. To turn it on set the environment
- variable GDK_USE_XFT to '1'
+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.
-* There are known problems with some of the image loaders in the
- gdk-pixbuf library included in GTK+ where corrupted images can cause
- crashes and conceivably worse problems. Until these problems are fixed
- (we hope to have this done for 2.0.1), gdk-pixbuf should not be used
- to load untrusted data.
+Release notes for 3.6
+=====================
-* 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.
+* The accessibility bridge code that exports accessible objects
+ on the bus is now used by default; atk-bridge has been converted
+ into a library that GTK+ links against. To void the linking,
+ pass --without-atk-bridge when configuring GTK+.
- 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
+* GDK threading support has been deprecated. It is recommended to
+ use g_idle_add(), g_main_context_invoke() and similar funtions
+ to make all GTK+ calls from the main thread.
- Best integration of GTK+-2.0 with the environment is achieved by
- using a UTF-8 locale.
+* GTK+ now follows the XDG Base Directory specification for
+ user configuration and data files. In detail,
+ * $XDG_CONFIG_HOME/gtk-3.0/custom-papers is the new location
+ for $HOME/.gtk-custom-papers
+ * $XDG_CONFIG_HOME/gtk-3.0/bookmarks is the new location
+ for $HOME/.gtk-bookmarks
+ * $XDG_DATA_HOME/themes is preferred over $HOME/.themes
+ * $XDG_DATA_HOME/icons is preferred over $HOME/.icons.
+ Existing files from the old location will still be read
+ if the new location does not exist.
-How to report bugs
-==================
+* $HOME/.gtk-3.0 is no longer in the default module load path.
+ If you want to load modules from there, add it to the GTK_PATH
+ environment variable.
-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:
+Release notes for 3.4
+=====================
- - What operating system and version
- - What version of X
- - For Linux, what version of the C library
+* 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. In addition, the
+ GdkScrollDirection enumeration has gained a new member,
+ GDK_SCROLL_SMOOTH, so switch statements will have to be amended
+ to cover this case.
- And anything else you think is relevant.
+* 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.
-* How to reproduce the bug.
+* The tacit assumption that the Alt key corresponds to the MOD1
+ modifier under X11 is now a hard requirement.
- 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.
+* The beagle search backend for the file chooser has been dropped.
+ Tracker is the only supported search backend on Linux now.
-* If the bug was a crash, the exact text that was printed out when the
- crash occured.
+* 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.
-* 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.
+* GtkApplication no longer uses the gtk mainloop wrappers, so
+ it is no longer possible to use gtk_main_quit() to stop it.
-Patches
-=======
+* The -uninstalled variants of the pkg-config files have been dropped.
+
+* 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.
+
+
+Release notes for 3.2
+=====================
+
+* 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.
+
+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.