Current GTK+ development | ||
---|---|---|
<<< Previous | Next >>> |
GTK+ was started as toolkit for the GIMP around 96 and reached its first stable release in April 98. GTK+ 1.0 contained the basic widgets that were needed to support the GIMP. The next stable release, 1.2, February 99 contained many new widgets which made GTK+ a reasonable toolkit to choose for general application development, it was no longer Gimp-centric. 1.2 was also the first release which featured a separate GLib library.
After 1.2, GTK+ went into a long development cycle, during which a lot of things were done. Text rendering was moved to use Pango, yielding first-class internationalization support. The object system was generalized and moved to GLib under the name GObject. A backend separation was introduced in GDK, and the win32 backend was added. Two big new widgets, the text view and the tree view, were created from scratch. Both feature a model-view architecture. During this 3 year period, Gnome was eagerly waiting for GTK+ 2.0 to get ready, since Gnome 2.0 depended on it. One of the lessons which the GTK+ team learned from the 2.0 release cycle is to try to stick to shorter 9-12 month development cycles between stable releases. We haven't reached that goal for all 2.x releases, but we have successfully avoided multi-year development cycles since 2.0.
The releases after 2.0 had more of an incremental nature. The main new feature in 2.2 was multihead support, for traditional X11 multiscreen/multidisplay and Xinerama.One interesting aspect of the multihead support in GTK+ is that it allows you to move windows between screens and displays, a feature which only few toolkits support today. The current stable release 2.4 features a new, much anticipated new filechooser widget, as well as a new combobox, and some widgets which were "brought home" from other places in the Gnome library stack.
To get an impression of the size of GTK+, here is a rough count of the lines of code (created using David A. Wheelers sloccount utility). These numbers include GLib, ATK, Pango and GTK+:
1.0 (Apr 98, ca 93.000 lines of code)
1.2 (Feb 99, ca 160.000 lines of code)
2.0 (Mar 02, ca 460.000 lines of code)
2.2 (Dec 02, ca 488.000 lines of code)
2.4 (Mar 04, ca 558.000 lines of code)
<<< Previous | Home | Next >>> |
GTK+ Widgets | GTK 2.4 Additions |