Current GTK+ development

Matthias Clasen


Table of Contents
What is GTK+ ?
GTK+ Widgets
GTK+ History
GTK 2.4 Additions
Current Goals of GTK+ development
GTK+ 2.4 maintenance
GTK+ 2.6 development
The future
Conclusion

What is GTK+ ?

GTK+ is a fully featured toolkit for creating user interfaces. It relies on the Pango library for text rendering, which provides excellent internationalization support. GTK+ was designed with language bindings in mind, and can be used with many programming languages, for example C, C++, Python, Perl, Java, Ada. Over time, GTK+ has spun off a number of auxiliary libraries.

GLib is the low-level core library that forms the basis of GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads and dynamic loading. It also offers support for character set conversion and Unicode handling.

GObject is an object system written in C with traditional features as inheritance, polymorphism and reference counting. It also contains a signal system for notification and an object attribute system.

The ATK library provides a set of interfaces for accessibility. By supporting the ATK interfaces, an application or toolkit can be used with such tools as screen readers, magnifiers, and alternative input devices.

Pango is a library for layout and rendering of text, with an emphasis on internationalization. It forms the core of text and font handling for GTK+. Pango shields from the details of the platforms native font system.

The GDK library provides a layer of abstraction that sits between GTK+ and the underlying windowing system. Instead of making calls directly to the window system, widgets call GDK when they need to draw to the screen or handle events. The GDK rendering API pretty closely matches the Xlib API.

The GTK+ library contains the widgets which make up the toolkit, together with supporting code, such as a theming system and drag-and-drop support.