GTK+-2.0.0 released

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
     GdkDrawable types.

  * 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

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 
    dialog handling.

  * 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.

  * GtkSeparatorMenuItem!

Other enhancements:

  * 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
    list here.

Where to get more information about GTK+-2.0

Information about GTK+ including links to documentation can be
found at:

An installation guide for GTK+-2.0 is found at:

Common questions:
   (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
Owen Taylor.

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

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]