GTK+ 3.0.0 released

GTK+ 3.0.0 is now available for download at:

http://download.gnome.org/sources/gtk+/3.0/
ftp://ftp.gtk.org/pub/gtk/3.0/

sha256 sums:
ec0729bf28f09a16e0b0a6a588556c7cee091f40426505b3694a9488bf6cbf67 gtk
+-3.0.0.tar.bz2
d294155389c9ba4765c0b26805967f2dae1d84565f5d4095d489f94619406df9 gtk
+-3.0.0.tar.gz

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
development.

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
and pixmaps.

* 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
transitions.

* 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
actions, etc.

* 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
found at:

http://www.gtk.org/

An installation guide for GTK+ 3 is found at:

http://library.gnome.org/devel/gtk3/3.0/gtk-building.html

Common questions:

http://library.gnome.org/devel/gtk3/3.0/gtk-question-index.html

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

http://library.gnome.org/devel/gtk3/3.0/migrating.html

gives an overview of what is involved in porting to GTK+ 3.

Contributing
============

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
project tasks:

http://live.gnome.org/GtkTasks

Thanks
======

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
theme system

* 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
GtkApplication

* Javier Jardón, for tireless code, build and documentation cleanup

February 10, 2011
Matthias Clasen

Comments are closed.