Comprehensive Guide to GTK +

GTK + and The GIMP Toolkit is a set of libraries Multiplatform to develop graphical user interfaces (GUI), mainly for graphical environments GNOME, XFCE and ROX although it can also be used in the Desktop for Windows, MacOS and others.

the beginning

Initially these Libraries were created to develop the GIMP image editing program, however currently they are widely used by many other programs on GNU / Linux systems. Along with Qt it is one of the most popular libraries for the X Window System.

According to abbreviationfinder, GTK + has been designed to allow programming with languages ​​such as C, C ++, C, Java, Ruby, Perl, PHP or Python.

Licensed under the terms of the LGPL, GTK + is Free Software and is part of the GNU project.

GTK + Libraries

GTK + is based on several Libraries from the GTK + and GNOME team:

  • GLib. Low-level library basic structure of GTK + and GNOME. Provides data structure management for C, portability, interfaces to runtime functionalities such as loops, threads, dynamic loading, or an object system.
  • GTK. Library which actually contains the objects and functions to create the User Interface. Manage Widgets like Windows, Buttons, Menus, labels, sliders, tabs, etc.
  • GDK. Library that acts as an intermediary between graphics low – level and high- end graphics.
  • ATK. Library to create interfaces with highly accessible features that are very important for disabled or handicapped people. Utilities such as magnifying glasses, screen readers, or alternative data inputs to the classic keyboard or mouse can be used.
  • Pango. Library for the design and rendering of text, with special emphasis on internationalization. It is the kernel for handling GTK + 2 fonts and text.
  • Cairo. Advanced rendering library of application controls.

Applications that use GTK +

Environments that use GTK +

  • GNOME is based on GTK +, which means that GNOME programs use GTK +
  • Xfce is based on GTK +
  • LXDE is based on GTK +, it stands for “Lightweight X11 Desktop Environment”
  • ROX Desktop a lightweight desktop, with features GUI of RISC OS
  • GPE Palmtop Environment
  • Maemo (Nokia’s Internet-tablet framework)
  • Access Linux Platform (successor to the Palm OS PDA platform)
  • One Laptop Per Child uses GTK + and PyGTK

The Desktop Environments are not required to run GTK + programs. If the Libraries required by the Program are installed, a GTK + program can be run on top of other X11- based environments such as KDE or any other environment, including Mac OS X, if is installed. GTK + can also run on Microsoft Windows, it is used by some popular cross-platform applications such as Pidgin and the GIMP. WxWidgets, a cross-platform graphical toolkit uses GTK + on Unix- like systems. Some of the more unusual ports include Directfb and Ncurses.

Window decorators

  • Metacity and Xfwm4 use GTK + 2


Some applications that use GTK + as a Widget include:

  • AbiWord – Word processor
  • CinePaint (ex FilmGimp) – Raster HDR animated graphics editor
  • Ekiga (ex GnomeMeeting) – H.323 / SIP VoIP softphone
  • Evolution – Mail client
  • Firefox – Web browser
  • GIMP – Raster graphics editor
  • Gnumeric – Spreadsheet program
  • Chromium – Webkit-based web browser developed largely by Google
  • GRAMPS – Genealogy software
  • Inkscape – SVG vector graphics editor
  • K-3D – Free 3D modeling program
  • Marionnet – An interactive network simulator
  • Midori – Portable Web Browser
  • Nero Linux – A program for editing discs.
  • Pidgin – Instant messaging client
  • VMware Player – Virtual machine
  • Wireshark – Packet capture, decode and analyzer


About the author