GTK+

GTK+

Infobox software
name = GTK+

developer = GNOME Foundation
latest release version = 2.14.3
latest release date = release date|2008|09|24
latest preview version =
latest preview date =
programming language = C
operating system = Cross-platform
genre = Widget toolkit
license = GNU Lesser General Public License
website = http://www.gtk.org/

GTK+, or The GIMP Toolkit, is a cross-platform widget toolkit for creating graphical user interfaces. It is one of the most popular toolkits for the X Window System, along with Qt.

GTK+ was initially created for the GNU Image Manipulation Program (GIMP), a raster graphics editor, in 1997 by Spencer Kimball and Peter Mattis, members of eXperimental Computing Facility (XCF) at UC Berkeley.

Licensed under the LGPL, GTK+ is free software and is part of the GNU Project.

Design

GTK+ is written in the C programming language, and its design uses the GObject object system. The GNOME platform provides language bindings for:

*C++ (gtkmm)
*Perl (Gtk2-perl)
*Ruby (ruby-gtk2)
*Python (PyGTK)
*Java (java-gnome) (not available for Microsoft Windows)
*C# (Gtk#)
*PHP (PHP-GTK)

Others have written bindings for many other programming languages (including Ada, D, Haskell, Ocaml, Pascal, Pike, Tcl, Euphoria and all .NET programming languages). GTK-server provides a stream-based IPC interface to GTK+ allowing it to be used from any language with I/O capabilities, including shell scripts. [ [http://www.gtk.org/language-bindings.html GTK+ bindings page] ]

Languages purpose-written for GObject and therefore GTK+ include Vala.

Like Qt, but unlike several other widget toolkits, GTK+ is not based on Xt. This allows flexibility and allows GTK+ to be used on platforms where the X Window System is unavailable. However, without this dependency, GTK+ lacks access to the X resources database, the traditional way for customizing X11 applications.

GTK+ initially contained some utility routines that did not strictly relate to graphics, for instance providing such data structures as linked lists and binary trees. Such general utilities, along with the object system called GObject, have now migrated into a separate library, GLib, which programmers can use to develop code that does not require a graphical interface.

Platforms

GTK+ was originally targeted at the X Window System, and this remains its primary target platform. Other targeted platforms are Microsoft Windows (Windows 2000 and upwards, near complete support), DirectFB, and Quartz (Mac OS X v10.4 and upwards, still under development).

Look and feel

The end-user can configure the look of the toolkit, down to offering a number of different display "engines". Engines exist which try to emulate the look of other popular toolkits or platforms, like Windows 95, Motif, Qt or NEXTSTEP.

History

GTK+ 2 has succeeded GTK+ 1. Its new features include improved text rendering using Pango, a new theme engine, improved accessibility using the Accessibility Toolkit, complete transition to Unicode using UTF-8 strings and a more flexible API. However, GTK+ 2 lacks compatibility with GTK+ 1, and programmers must port applications to it.

Starting with version 2.8, GTK+ 2 depends on the Cairo library for rendering with vector graphics in GTK+ 2.

Releases

Future developments

"Project Ridley" is an attempt to consolidate several libraries that are currently external to GTK+, including: libgnome, libgnomeui, libgnomeprint22, libgnomeprintui22, libglade, libgnomecanvas, libegg, libeel and gtkglext. [ [http://live.gnome.org/ProjectRidley ProjectRidley - GNOME Live! ] ]

Developers are also considering new directions for the library, including breaking ABI, removing deprecated API components, and adding an integrated scene graph system, similar to the Clutter graphics library, effectively integrating GTK+ with OpenGL. [ [http://aruiz.typepad.com/siliconisland/2008/03/gtk-hackfest-20.html Alberto Ruiz's Blog] ] [ [http://mail.gnome.org/archives/gtk-devel-list/2008-March/msg00017.html Havoc Pennington's scene graph proposal] ]

Uses

; Environments that use GTK+

* GNOME is based on GTK+, meaning that GNOME programs use GTK+
* Xfce is also based on GTK+, though its applications typically do not depend on as many libraries (this is the difference between something being branded as a “GNOME program” or as a “GTK+ program”).
* LXDE is once again based on GTK+, stands for "Lightweight X11 Desktop Environment"
* ROX Desktop a lightweight desktop, with features from the GUI of RISC OS
* GPE Palmtop Environment
* Maemo (Nokia's Internet-tablet framework)
* Access Linux Platform (successor of the Palm OS PDA platform)
* One Laptop Per Child project uses GTK+ and PyGTK.
* Openmoko - Open mobile platform

Those desktop environments are not required to run GTK+ programs. If the libraries the program requires are installed, a GTK+ program can run on top of other X11-based environments such as KDE or an X11-plus-window manager environment; this includes Mac OS X if X11.app is installed. GTK+ can also run under Microsoft Windows, used by some popular cross-platform applications like Pidgin and GIMP. wxWidgets, a cross-platform GUI toolkit, uses GTK+ for Unix systems. [ cite web | url = http://www.wxwidgets.org/wiki/index.php/WxWidgets_Compared_To_Other_Toolkits#GTK.2B work = WxWidgets Compared To Other Toolkits | title = GTK+ ] Some of the more unusual ports include DirectFB and ncurses.

; Window managers

* Metacity and Xfwm4 use GTK+ 2.

Applications

Some notable applications that use GTK+ as a widget toolkit include:

*AbiWord - Word processor
*CinePaint (ex FilmGimp) - Raster HDR animated graphics editor
*Ekiga (ex GnomeMeeting) - H.323/SIP VoIP softphone
* Evolution - Mailer
*GIMP - Raster HDR graphics editor
*GNOME - a popular desktop environment for Unix-like operating systems
*Gnumeric - Spreadsheet software
*GRAMPS - Genealogy software
*gretl - Statistical package
*Inkscape - SVG Vector graphics editor
*Pidgin - Instant messaging
*Wireshark - Packet capture, decode and analyzer
*VMware Player - Virtual Machine

See also

* List of widget toolkits

References

External links

* [http://www.gtk.org/ GTK+ homepage]
* [http://expander.gtk.org/ GTK+ Planet]
* [http://www.gtk-apps.org/ List of GTK+ applications]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • GTK+ — Entwickler Das GTK+ Team[1] Aktuelle Version 3.2.2 (12. November 2011) …   Deutsch Wikipedia

  • GTK+ — Тип библиотека элементов интерфейса (виджетов) Автор The GTK+ …   Википедия

  • GTK+ 2 — GTK+ Pour les articles homonymes, voir GTK. GTK+ …   Wikipédia en Français

  • Gtk+ — Pour les articles homonymes, voir GTK. GTK+ …   Wikipédia en Français

  • GTK+ — Desarrollador The GNOME Foundation www.gtk.org …   Wikipedia Español

  • Gtk — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. {{{image}}}   Sigles d une seule lettre   Sigles de deux lettres > Sigles de trois lettres …   Wikipédia en Français

  • GTK — GTK+ es un grupo importante de bibliotecas o rutinas para desarrollar interfaces gráficas de usuario (GUI) para principalmente los entornos gráficos GNOME, XFCE y ROX de sistemas Linux. Es software libre (bajo la licencia LGPL), multiplataforma y …   Enciclopedia Universal

  • Gtk — GIMP Toolkit Entwickler: Das GTK+ Team Aktuelle Version: 2.16.1 (12. April 2009) …   Deutsch Wikipedia

  • Gtk+ — GIMP Toolkit Entwickler: Das GTK+ Team Aktuelle Version: 2.16.1 (12. April 2009) …   Deutsch Wikipedia

  • GTK+ — Pour les articles homonymes, voir GTK. GTK+ …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”