Penguin
Annotated edit history of GimpToolKit version 13, including all changes. View license author blame.
Rev Author # Line
11 AristotlePagaltzis 1 !!! The Gimp ToolKit
7 CraigBox 2
3 ;: [http://www.gtk.org/images/gtk-logo-rgb.gif]
4
12 AristotlePagaltzis 5 The [Gimp ToolKit | http://www.gtk.org/] was written as the foundation to carry [TheGIMP]. At the time, the only alternatives were [Motif], which has a very restrictive license, and [Qt], which wasn't completely FreeSoftware either and is specifically targetted at [C++]. These were both deemed unacceptable for the reasons given, so a new ToolKit was created and released under the [LGPL]. It is nowadays known as just [GTK] and has become a familiar sight ([see some screenshots | http://www.gtk.org/screenshots/]). Even a [Windows port | http://www.gimp.org/~tml/gimp/win32/] has been written ([see some screenshots | http://gtk-wimp.sourceforge.net/screenshots/]). Another version called [Cursed GTK | http://zemljanka.sourceforge.net/cursed/] now in development uses [Curses] instead of [X11], which allows [GUI] applications to run on the console. [The screenshots | http://zemljanka.sourceforge.net/cursed/screenshots/] are rather reminiscent of [Borland]'s !TurboVision IDE for [DOS]...
7 CraigBox 6
11 AristotlePagaltzis 7 It's the ToolKit of choice for most any serious [GUI] application on [Linux] and other [Unix]oid systems, such as [Gnumeric], [Evolution], or AbiWord. Still other applications developed with wider portability in mind use [GTK] as their default ToolKit on [Linux]; examples are [Vim], [Mozilla], and [OpenOffice.org]. Entire [DesktopEnvironment]s like [GNOME] and [XFce] are built on top of [GTK].
8
9 While it's written in [C], it has bindings to many other languages. [C++] was the first to get such a library, called [gtkmm | http://gtkmm.sf.net/] (for __gtk--__). There's also [PyGTK | http://www.daa.com.au/~james/software/pygtk/] for [Python] and [Gtk2-Perl | http://gtk2-perl.sf.net/] for [Perl].
10
11 !!! The Next Generation: [GTK2]
12
13 AristotlePagaltzis 13 [GTK2] is more than just another iteration of [GTK]. It is a major redesign that can require considerable modification of existing [GTK]-based SourceCode in order to build against [GTK2]. There are many good reasons to invest the effort.
11 AristotlePagaltzis 14
15 * The 2.x series is fully internationalized through full [Unicode]/multi-byte character support.
16 * The new text rendering engine called [Pango] has no trouble with non-Latin languages and supports [Xft] and FontConfig integration, providing beautifully AntiAliasedFonts.
17 * The [ATK] libraries support accessibility.
18 * The list- and treeview widgets have been rewritten from the ground up following a ModelViewController architecture, which can drastically reduce memory footprint and improve performance for large amounts of data. Performance has unfortunately actually suffered due to do design decisions taken in favour of greater flexibility, but optimizations for the common cases are being retrofitted as the code matures.