- From: Owen Taylor <otaylor redhat com>
- To: gnome-announce-list gnome org, gtk-list gnome org, gtk-app-devel-list gnome org, gtk-devel-list gnome org
- Subject: GTK+-2.0.0 released
- Date: Mon, 11 Mar 2002 11:40:32 -0500 (EST)
GTK+-2.0.0 is now available for download at:
along with new versions of the 3 base libraries, GLib, Pango and ATK.
Release notes are available at:
What is GTK+
GTK+ is a multi-platform toolkit for creating graphical user
interfaces. Offering a complete set of widgets, GTK+ is suitable for
projects ranging from small one-off tools to complete application
GTK+ has been designed from the ground up to support a range of
languages, not only C/C++. Using GTK+ from languages such as Perl and
Python (especially in combination with the Glade GUI builder) provides
an effective method of rapid application development.
Earlier versions of GTK+ have been used in a wide variety of
applications, including the GNOME desktop and the GNU Image
Manipulation Program (GIMP). Version 2.0 of GTK+ offers the same
flexibility that made GTK+-1.0 and GTK+-1.2 so popular, and adds a
much enhanced feature set, increased ease of programming for
application developers, and ease of use for end users.
GTK+ is free software and part of the GNU Project. However, the
licensing terms for GTK+, the GNU LGPL, allow it to be used by all
developers, including those developing proprietary software, without
any license fees or royalties. GTK+ is the only 100% free-of-cost open
source industrial-strength GUI toolkit available today.
GTK+ 2.0 is the foundation of the GNOME 2.0 desktop, to be released
later this year. GTK+ 2.0 will be available in standard installations
of Solaris, Linux, and HP-UX.
What's new in GTK+-2.0
The huge feature set of GTK+ 2.0 more than doubles the size of GTK+
1.2, moving from 230,000 lines of code to 620,000 lines of code. Over
the last three years a line of code was added to GTK+ every 5
minutes. Nonetheless a statically-linked version of gtk-demo can still
fit on a 1.4M floppy disk.
Much of the new code for GTK+ 2.0 appears in the base libraries such
as Pango. Nonetheless the changes to GTK+ itself are extensive.
The gdk-pixbuf (GDK pixel buffer) library for image loading and
manipulation is now integrated into GTK+. gdk-pixbuf supports fast
MMX-accelerated image scaling. Enhancements over the standalone
gdk-pixbuf include support for animated images, more image formats,
greater robustness/error-handling, and saving images to files.
Enhancements to the GDK library, which is the interface between
the GTK+ widgets and the underlying windowing system include:
* Previews of ports to Microsoft Windows and direct frame buffer display.
(A final version of the Windows port is expected within a month or two.)
* Support for a full 32-bit coordinate space; GDK handles emulation
of this coordinate space on systems with smaller coordinate spaces
such as X11 and Win32.
* Double buffering and redraw regions are tracked at the windowing
system level, allowing applications to achieve efficient and
flicker-free drawing with very little effort.
* Support for anti-aliased fonts and alpha-composited images via the
RENDER extension to X.
* Use of the GObject system for GDK objects, facilitating language
bindings, improving consistency, and allowing derivation of new
* Extension of GdkRGB to handle all visuals and colormaps,
eliminating the need to manually allocate colors.
* Support for rendering text using the Pango infrastructure.
* Support for new standards at http://www.freedesktop.org/
New widgets and widget improvements:
* GtkTextView - this new Text widget is based on the Tk text widget,
and inherits an efficient implementation and a complete set of
options for styled text. The Tk base was extended with multiple
views of a single buffer, pixel-based scrolling, and the full range
of internationalization capabilities provided by Pango.
* GtkTreeView - a flexible widget for tree and list display, with
features such as a model-view split for abstracting data storage
from display, the ability to create custom models to accommodate
large data sets, versatile display/rendering features, and
editable data cells.
* An overhauled GtkDialog and new GtkMessageDialog for convenient
* A GtkImage widget for images and animations.
* GtkProgressBar API revised and made easier to use.
* GtkSpinButton API simplified.
* GtkOptionMenu API simplified.
* GtkLabel supports styled text and selectable text.
* GtkEntry supports internationalization.
* Complete support for Unicode and internationalized text via Pango,
throughout all GTK+ widgets. Capable of processing text in all
major world scripts, including European languages, Chinese,
Korean, Japanese, Hebrew, Arabic, Thai, Tamil, Devanagari.
* GtkClipboard object makes it easy to handle cut-and-paste.
* Right-click popup menus for cut/copy/paste, Unicode character
insertion, input method selection, and so on.
* Rewritten user interfaces for color selector and font
* Many widgets no longer have an associated GdkWindow, further
reducing flicker/tearing and allowing themes with translucent
buttons and similar effects.
* Extensive keyboard navigation support, including simplified "just
works" APIs for adding mnemonics and accelerators.
* A clean and attractive new default appearance.
* Many other usability improvements.
* A new input method framework that provides a simple and consistent
interface on top of different backends. On-the-spot input is now
provided when using GTK+ with input method servers based on XIM.
* A system for stock toolbar/menu/button images. Themes
can include replacement icons as part of the theme.
* Much enhanced API documentation included with GTK+.
* Systematically simplified and enhanced the API based on thousands
of user requests and questions fielded by the GTK+ team, resulting
in many hundreds of small API tweaks and additions too detailed to
Where to get more information about GTK+-2.0
Information about GTK+ including links to documentation can be
An installation guide for GTK+-2.0 is found at:
(the above URL contains links to 1.2->2.0 porting information)
The GTK+ Team:
Jonathan Blandford, Hans Breuer, Matthias Clasen, Tim Janik, Alex Larsson,
Tor Lillqvist, Havoc Pennington, Kristian Rietveld, Soeren Sandmann, and
Special thanks to:
Jacob Berkman, Robert Brady, Anders Carlsson, Jeff Franks,
Bill Haneman, Raja R Harinath, James Henstridge, Elliot Lee, Lee Mallabone,
John Margaglione, Sven Neumann, Padraig O'Briain, Manish Singh and to
Peter Mattis, who started it all.
Thanks to all the contributors to GTK+-2.0 including:
Darin Adler, Shawn T. Amundson, Marius Andreiana, Björn Augustsson,
Jeffrey Baker, Nils Barth, Martin Baulig, Joel Becker, Frank Belew,
Fabrice Bellet, Geert Bevin, Dennis Björklund, John Bley,
Christopher Blizzard, Jonas Borgström, Stanislav Brabec, Thomas Broyer,
Martin Buchholz, Simon Budig, Ross Burton, Brian Cameron, Antonio Campos,
Jim Cape, Lance Capser, Chema Celorio, Suresh Chandrasekharan, Damon Chaplin,
Arnaud Charlet, Erwann Chenede, Pavel Cisler, Philippe Colantoni, Dave Cole,
David L. Cooper, Jay Cox, Murray Cumming, Johan Dahlin, Janet Davis,
Elena Devdariani, Olaf Dietsche, Eric Ding, Finlay Dobbie,
Miroslaw Dobrzanski-Neumann, Daniel Egger, Daniel Elstner, Ramiro Estrugo,
Larry Ewing, Jens Finke, Eric Fischer, Paul Fisher, Tony Gale, Jeff Garzik,
ERDI Gergo, Nicola Girardi, Jody Goldberg, Diego Gonzalez, Matt Goodall,
Dov Grobgeld, Matt Grossman, Scott Guilbeaux, Melvin Hadasht, Lars Hamann,
Vlad Harchev, John Harper, Guy Harris, Mathias Hasselmann, Lars Heete,
David Helder, Bernd Herd, Mikael Hermansson, Richard Hestilow,
Kipp Hickman, Akira Higuchi, David Hodson, Michael Hore, Greg Hudson,
Richard Hult, ChiDeok Hwang, Szekeres Istvan, Damian Ivereigh,
Jean-Marc Jacquet, Michal Jaegermann, Jakub Jelinek, Stefan Jeske,
Andreas J. Guelzow, David Kaelbling, Satajyit Kanungo, Andreas Kemnade,
Charles Kerr, Mike Kestner, Jon K Hellan, Vladimir Klebanov, Stefan Kost,
Tuomas Kuosomann, KUSANO Takayuki, Sergey Kuzminov, Håvard Kvålen,
Mathieu Lacage, Dave Lambert, Miles Lane, Guillaume Laurent, David L. Cooper,
George Lebl, Marc Lehmann, Eric Lemings, Thomas Leonard, Ollie Lho,
Oskar Liljeblad, Frank Loemker, Ryan Lovett, Seth Lytle, Pavel Machek,
Paolo Maggi, Grigorios Magklis, Martin Maierhofer, Alexey Malyshev,
Kjartan Maraas, Evan Martin., Brian Masney, Mark McLoughlin, Michael Meeks,
Anders Melchiorsen, Federico Mena Quintero, Juan Pablo Mendoza,
Jose H Mercado, Gregory Merchan, Christophe Merlet, Arkadiusz Miskiewicz,
Bruce Mitchener, Jr., Paolo Molaro, Skip Montanaro, Jan Mynarik,
Sung-Hyun Nam, Michael Natterer, Karl Nelson, Seth Nickell, Bastien Nocera,
Tomas Ögren, Tomi Ollila, Xavier Ordoquy, Eugene Osintsev, Peter Osterlund,
Narayani Pattipati, Mark Patton, Ettore Perazzoli, Andreas Persenius,
Laszlo Peter, Asbjorn Pettersen, Chris Phelps, Joshua N Pritikin,
T. Alexander Popiel, Salmaso Raffaele, Gene Ragan, Ed Randall,
Steve Ratcliffe, Detlef Reichl, Chris Rogers, Guillermo S. Romero,
Christian Rose, Theodore Roth, Jeroen Ruigrok, Changwoo Ryu, Pawel Salek,
David Santiago, Pablo Saratxaga, René Seindal, Nicolas Setton, Joe Shaw,
Sam Solon, Jeffrey Stedfast, Jakub Steiner, Ron Steinke, Jamie Strachan,
Keishi Suenaga, Yusuke Tabata, Akira Tagoh, Hidetoshi Tajima, Armin Theissen,
Phil Thompson, Vitaly Tishkov, Jon Trowbridge, Denis Vakatov,
Kevin Vandersloot, Sergey Vlasov, Peter Wainwright, Morten Welinder,
Sebastian Wilhelmi, Peter Williams, Matt Wilson, Per Winkvist, Dan Winship,
Daniel Yacob, Shirasaki Yasuhiro, Rosanna Wing Sze Yuen, David D `Zoo' Zuhn
11 March 2002
] [Thread Prev