GTK+

The GTK+ and GLib libraries provide the foundation for the user interface of GNOME. The GTK+ user interface toolkit was originally developed as part of the GIMP (GNU Image Manipulation Program) project and has become widely used because of its attractive appearance, flexible and convenient programming interface and unrestrictive licensing under the GNU LGPL.

GLib
The GLib library provides functionality which makes C more pleasant and convenient to use. It is used throughout the libraries of GTK+ and GNOME as well as in GNOME programs.
GDK
Instead of directly building on top of the X Window System, GTK+ introduces an intermediate layer, GDK, which isolates GTK+ from the details of the windowing system. This simplifies things for the programmer and increases portability.
GTK+ Object System
Although GTK+ is written in C, a language without explicit support for object-oriented programs, the design of GTK+ is heavily object-oriented. The basis of this is a layer known as the GTK+ Object System. In addition to such traditional features as inheritance, polymorphism and reference counting, the GTK+ Object System also adds a number of features particularly adapted for a widget toolkit, including a signal system for notification and an object attribute system.
Drag and Drop
Moving information via Drag and Drop (DND) is a capability supported in most modern user interfaces. GTK+ provides a set of interfaces for supporting drag and drop that are both easy to use and highly customizable. By writing to these interfaces, the application can interoperate with programs supporting either the Motif or Xdnd Drag and Drop protocols.
Themes
GTK+ provides support for user-interface customization via themes. Without recompiling either GTK+ or the application, a user can choose a new look for their applications by installing a new theme. A theme can either be simply a set of colors and pixmaps used by the existing drawing code or it can be a complete replacement of the functions used to draw widgets.

Documentation

Users · Developers · ViewCVS · FTP · Bugzilla · Software Map · Contact