A highly usable, feature rich library for creating graphical user interfaces a.k.a. GUIs
GTK+ (formerly GIMP Toolkit) is an open source, multi-platform and object-oriented widget toolkit designed to allow programmers to effortlessly create GUIs (Graphical User Interfaces) that work in modern open source desktop environments. It was initially called GIMP Toolkit because it contained a set of GUI libraries that were used in the GIMP (GNU Image Manipulation Program), as an alternative to deprecated Motif GUI specification.
It’s part of the GNU Project
The software is part of the GNU Project and its main goal is to provide a complete set of widgets and APIs that allow developers to create complete application suites. Besides Qt, GTK is the most used toolkit deploying graphical application on top of the X.Org and Wayland display servers.
It is heavily used on GNOME and Xfce
GTK+ is heavily used in the well known GNOME and Xfce desktop environments, but it supports Cinnamon, MATE, LXDE (Lightweight X11 Desktop Environment), Pantheon, Sugar, ROX Desktop, GPE Palmtop environment, Access Linux Platform, and KDE. Several open source window managers use the GTK+ toolkit, including Metacity, Mutter, AfterStep, IceWM, Sawfish, Xfwm, Aewm, Amaterus, Consortium, Marco, and Wmg.
Under the hood
While the most popular and used GUI designer for GTK+ is Glade, we can also mention the Gazpacho, Crow Designer and Stetic (part of the MonoDevelop project) applications. Under the hood, we can immediately notice that GTK+ is written in the C programming language and uses the powerful GLib library software for the object orientation. Future releases will introduce backends for the Wayland display server and HTML5 markup language.
Supported operating systems
While it is heavily used in the open source GNU/Linux, Solaris and BSD platforms, the program has been successfully ported to the commercial Microsoft Windows and Mac OS X operating systems. If you want to create modern GUI front-ends for your applications, you should definitely choose GTK+, especially if you want them to support GNOME, Xfce, LXDE, Cinnamon, MATE, and other desktop environments.