GTK+ 3.0.0 released
- From: Matthias Clasen <mclasen redhat com>
- To: gnome-announce-list gnome org, gtk-devel-list gnome org, gtk-app-devel-list gnome org, gtk-list gnome org
- Subject: GTK+ 3.0.0 released
- Date: Thu, 10 Feb 2011 15:53:53 -0500
GTK+ 3.0.0 is now available for download at:
What is GTK+
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 tools to
complete application suites.
GTK+ has been designed from the ground up to support a range
of languages, not only C/C++. Using GTK+ from languages such
as Perl and Python (especially in combination with the Glade
GUI builder) provides an effective method of rapid application
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. GTK+ is a
100% free-of-cost, open source, industrial-strength GUI
toolkit available today.
Since its origins as the toolkit for the GNU Image
Manipulation Program (GIMP), GTK+ has been used in a wide
range of software. Notably, GTK+ is the foundation of the
GNOME desktop; GTK+ 3 will be incorporated into version 3
of the GNOME desktop.
What's new in GTK+ 3
GTK+ 3 is a major new version of GTK+, containing far too many
changes to list them all here. The major highlights include:
* Cairo drawing throughout. GDK no longer wraps the antiquated
X11 drawing API; we've made a clean break and exclusively rely
on cairo for all our drawing needs now. This has also enabled us
to remove several other X11-centric concepts such as GCs, colormaps
* Modern input device handling. The input device handling in GDK has
long been a sadly neglected area. This has changed; with 3.0, GTK+
steps into the modern world of XI2 with full support for multiple
pointers, keyboards and other gizmos.
* A new theming API which sports a familiar CSS syntax for theme
configuration and other improvements such as animated state
* More flexible geometry management, with support for height-for-width,
for both widgets and cell renderers.
* Multiple backend support for GDK. With GTK+ 2.x, you had to recompile
your application to have it work with a different GDK backend.
In GTK+ 3, multiple GDK backends can be built into a single library
and selected at runtime.
* Easy application support. With the integration of D-Bus support in
GIO, we could finally add a GtkApplication class that handles a lot
of the platform integration aspects of writing an application, such
as keeping track of open windows, ensuring uniqueness, exporting
* Of course, there's some new widgets as well, such as a switch and
an application chooser.
Where to get more information about GTK+
Information about GTK+ including links to documentation can be
An installation guide for GTK+ 3 is found at:
GTK+ 3 is a major new version of GTK+, changing the ABI and
the API compared to GTK+ 2.x. This means that GTK+ 2.x applications
will need some adjustments before they can be used with GTK+ 3.
The migration guide at
gives an overview of what is involved in porting to GTK+ 3.
GTK+ is a large project and relies on voluntary contributions.
We are actively searching for new contributors in various areas
and invite everyone to help project development.
If you are willing to participate, please subscribe to the project
mailing lists to offer your help and read over our list of vacant
GTK+ is the work of hundreds of contributors, far too many to list
them all here. But I want to take the time to thank some people
who contributed in a major way:
* Carlos Garnacho (lanedo), for his work on XI2 support and the new
* Benjamin Otte (Red Hat), for his work on GDK and cairo drawing
* Tristan Van Berkom (Openismus), for his work on geometry management
* Colin Walters (Red Hat), for his work on GtkApplication
* Ryan Lortie (Codethink), for his work on dconf, GSettings and
* Javier Jardón, for tireless code, build and documentation cleanup
February 10, 2011
] [Thread Prev