GTK+ 2.10 released

GTK+ 2.10.0 is now available for download at: 

gtk+-2.10.0.tar.bz2   md5sum: 37cdf73719e8b2af6b0d065df6236542
gtk+-2.10.0.tar.gz    md5sum: a9fae877ea42c3441eb674a4cf7bd2bb

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

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

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.

Since its origins as the toolkit for the GNU Image
Manipulation Program (GIMP), GTK+ has been used in a wide
range of software. Notably, GTK+ is the foundation of the
GNOME desktop; GTK+ 2.10 will be incorporated into version
2.16 of the GNOME desktop.

What's new in GTK+ 2.10

GTK+ 2.10 adds significant new functionality while maintaining
source and binary compatibility with GTK+ 2.8. Highlights of
new features and improvements in GTK+ 2.10 are:

Printing support

 GtkPrintOperation offers a portable high-level API for
 printing, but a lower-level, Unix-specific API is also
 available. The code interfacing with the underlying printing
 system is separated in the form of loadable modules. 
 Currently cups and lpr are supported.

Recent files support

 GTK+ can load and display lists of recently used files
 that are stored in the format explained in the Desktop
 Bookmarks specification (a subset of XBEL). GtkRecentManager
 is responsible for storing the recently used files,
 and there are several widgets for displaying them.

Drag-and-drop support in notebooks

 GtkNotebook supports drag-and-drop, allowing to reorder
 tabs, move tabs between notebooks, and create new windows
 by dragging tabs on the desktop.

New widgets and cell renderers

 * GtkStatusIcon, a cross-platform "tray icon" API
 * GtkAssistant, a widget for creating multi-step wizards
 * GtkLinkButton, a widget that displays a clickable hyperlink
 * GtkCellRendererAccel, a cell renderer for key combinations
 * GtkCellRendererSpin, a cell renderer for numeric values

Changes in the filechooser 

  Communication with backends is now asynchronous to avoid
  blocking on filesystem operations. The location entry 
  (popped up by C-L) has been integrated in the main dialog.

Changes in the tree view widget

  The GtkTreeView has been made more customizable with the
  show-expanders and level-indentation properties, and with
  the addition of grid lines. The positioning of the 
  search popup has been improved, and the search entry
  can be embedded in another window. Rubberband selection
  is now supported.

Changes in the text view and entry widgets

 A framework for rich text copy-and-paste and drag-and-drop
 has been added. Password entries can optionally show the 
 last entered character for a short while.

Themability improvements

 * GTK+ supports symbolic colors
 * GTK+ sets window type hints on override-redirect windows
 * Paths in rc files can refer to all subclasses of a class
 * Scrolling menus can be themed to always display both arrows
 * GtkRange steppers will appear insensitive when the slider
   is at the end; applications which need to handle this case
   (e.g. to extend the range) can opt out of this.
 * There are style properties for the color of hyperlinks,
   GtkWidget::link-color and GtkWidget::visited-link-color
 * New style properties allow more flexible theming of
   range widgets, notebooks, menus tree view, separators
   and buttons.
 * The pixbuf theme engines supports customized drawing 
   of expanders and resize grips.

Other GTK+ changes

 * GtkProgressbar supports text in activity mode 
 * GtkLabel allows to set the wrap mode
 * GtkAction works with named icons in addition to stock icons
 * Animations can be globally controlled by settings
 * The gtk-touchscreen-mode setting controls a number of changes
   that make GTK+ work better on touchscreens
 * GTK+ can consult an additional fallback icon theme before
   falling back to hicolor
 * GtkImage has an image property
 * GtkTextBuffer has a cursor-position property
 * GtkCellView has a model property
 * GtkButton has an image-position property 

GDK changes

 * OS X backend, still experimental
 * DirectFB backend, still experimental
 * Closing displays works
 * gdk_screen_is_composited to check for a running
   compositing manager
 * Support for Super, Hyper and Meta modifiers
 * GDK keysyms have be synched with Xorg 7.1
 * Running as an untrusted X client works

gdk-pixbuf changes

  * TIFF files can be saved
  * 16-bit PNM files can be loaded
  * GIF animations are not loaded completely if
    only the first frame is needed

For more details and lists of fixed bugs, see the
announcements for the 2.9.x development releases:

Where to get more information about GTK+ 2.10

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

An installation guide for GTK+ 2.10 is found at:

Common questions:

The GTK+ Team:

 Jonathan Blandford, Hans Breuer, Kristian Rietveld, Matthias Clasen, 
 Tim Janik, Tor Lillqvist, Federico Mena Quintero, Søren Sandmann, 
 Manish Singh, and Owen Taylor

Special thanks to:

Alexander Larsson and John Palmieri (printing)
Emanuelle Bassi (recent files, GtkLinkButton)
Carlos Garnacho (notebook drag-and-drop, GtkAssistant)
Anders Carlsson (OS X backend)
Mike Emmel (DirectFB backend)

Thanks to all the contributors to GTK+ 2.10, including:

Ævar Arnfjörð Bjarmason, Akkana Peck, Alexander Nedotuskov, 
Alex Graveley, Al Puzzuoli, Andrei Yurkevich, Andrew Conkling, 
Andrew S. Dixon, Arjan van de Ven, Arnaud Charlet, Bastian Nocera, 
Behdad Esfahbod, Benedikt Meurer, Benjamin Berg, Benjamin Otte, 
Benoît Carpentier, Billy Biggs, Billy Skaggs, Bodo-Merle Sandor, 
Bogdan Nicula, Brad Taylor, Callum McKenzie, Calum Benson, 
Caolan McNamara, Carl Worth, Carol Spears, Carolyn MacLeod, 
Chris Lahey, Chris Lord, Christian Kirbach, Christian Lohmaier, 
Christian Neumair, Christian Persch, Christian Stimming, 
Christian Weiske, Christophe Belle, Chris Wilson, Claudio Saavedra, 
Clytie Siddall, Colin Walters, Cory Dodt, Crispin Flowerday, 
Daichi Kawahata, Damien Carbery, Damon Chaplin, Daniel Drake, 
Daniel Kasak, Daniel Lindenaar, Dan Winship, Dave Andreoli, 
Dave Vasilevsky, David Baron, David Malcolm, David Trowbridge, 
Davyd Madeley, Denis Auroux, Dennis Cranston, Diana Fong, 
Diego González, Dom Lachowicz, Donald Straney, Duncan Coutts, 
Ed Catmur, Elie De Brauwer, Elijah Newren, Emmanuel Rodriguez, 
Eric Cazeaux, Erik van Pienbroek, Evert Verhellen, Felipe Heidrich, 
Francisco Javier F. Serrador, Frederic Croszat, 
Guilherme de S. Pastore, Guillaume Cottenceau, Guillaume Desmotte, 
Gustavo Carneiro, Hamed Malek, Havoc Pennington, Hendrik Richter, 
Henrique Romano, Hiroyuki Ikezoe, Hylke van der Schaaf, 
Ian McDonald, Itai Bar-Haim, Jaap A. Haitsma, James Moger, 
James Su, Jürg Billeter, Jean-Yves Lefort, Jens Granseuer, 
Jeremy Cook, Jody Goldberg, Joe Marcus Clarke, Joe Wreschnig, 
Johan Dahlin, John Cupitt, John Darrington, John Ehresman, 
John Finlay, John Spray, Jon-Kare Hellan, Jorn Baayen, 
Joseph Sacco, JP Rosevaar, Jürg Billeter, Kalle Vahlmann, 
Kathy Fernandez, Kazuki Iwamoto, Kean Johnston, Kjartan Maraas, 
Kouhei Sutou, Kristof Versant, Larry Ewing, Leena Gunda, 
Lillian Angel, Li Yuan, Lorenzo Gil Sanchez, Maciej Katafiasz, 
Magnus Bergmann, Markku Vire, Mark McLoughlin, Marko Anastasov, 
Mark Wielaard, Mart Raudsepp, Martyn Russell, Masatake Yamamoto, 
Masatake Yamato, Mathias Hasselmann, Matthijs Douze, 
Maxim Udushlivy, Michael Natterer, Milosz Derezynski, 
Morten Welinder, Murray Cumming, Nickolay V. Shmyrev, 
Nicolas Setton, Niklas Knutsson, Olexiy Avramchenko, 
Paolo Borelli, Paolo Maggi, Pascal Terjan, Patrick Monnerat, 
Peter Breitenlohner, Peter Harvey, Peter Lund, Peter Zelezny, 
Phil Dumont, Philip Langdale, Raphael Slinckx, Ray Strode, 
Richard Hult, Robert Ögren, Rodney Dawes, Roozbeh Pournader, 
Ross Burton, Ryan Lortie, Ryan Lovett, Sadrul Habib Chowdhury, 
Sampo Savolainen, Sebastien Bacher, Simos Xenitellis, 
Srirama Sharma, Stanislav Brabec, Stefan Kost, 
Stephane Chauveau, Steve Chaplin, Steve Frécinaux, 
Sven Herzberg, Sven Neumann, Thomas Broyer, 
Thomas Fitzsimmons, Thomas Klausner, Thomas Leonard, 
Tim Evans, Tino Meinen, Todd Berman, Tommi Komulainen, 
Torbjörn Andersson, Torsten Schoenfeld, Tze'ela Hebron, 
Vincent Untz, William Jon McCann, Wolfgang Thaller, 
Wouter Bolsterlee, Yang Hong, Yevgen Muntyan, Yong Wang

Thanks to all translators:

Zuza Software Foundation (Afrikaans)
Ge'ez Frontier Foundation (Amharic)
James Johnson (Old English)
Ayman Hourieh (Arabic)
Amir Hedayaty (Iranian Azerbaijani)
Mətin Əmirov (Azerbaijani)
Vital Khilko (Belarusian)
Alexander Shopov (Bulgarian)
Progga (Bangla)
Thierry Vignaud (Breton)
Kenan Hadžiavdić (Bosnian)
Jordi Mallach (Catalan)
Jakub Friedl (Czech) 
Rhys Jones (Cymraeg)
Martin Willemoes Hansen (Danish)
Hendrik Richter (German) 
Mindu Dorji (Dzongkha)
Nikos Charonitakis (Greek)
Adam Weinberger (Canadian English)
David Lodge (British English)
Francisco Javier F. Serrador (Spanish)
Ivar Smolin (Estonian)
Iñaki Larrañaga Murgoitio (Basque)
Roozbeh Pournader (Persian)
Ilkka Tuohela (Finnish) 
Benoît Dejean (French)
Alan Horkan (Gaeilge)
Ignacio Casal Quinteiro (Galego)
Ankit Patel (Gujarati)
Yair Hershkovitz (Hebrew)
Rajesh Ranjan (Hindi)
Robert Sedak (Croatian)
Gabor Kelemen (Hungarian)
Norayr Chilingaryan (Armenian)
Robert Brady (Interlingua)
Mohammad DAMT (Indonesia)
Richard Allen (Icelandic)
Alessio Dessì (Italian)
Takeshi AIHANA (Japanese)
Vladimer Sichinava (Georgian)
Changwoo Ryu (Korean)
Erdal Ronahi (Kurdish)
Mathieu van Woerkom (Limburgish)
Žygimantas Beručka (Lithuanian)
Artis Trops (Latvian)
Wesley Parish (Māori)
Jovan Naumovski (Macedonian)
FSF-India (Malayalam)
Sanlig Badral (Mongolian)
Jitendra Shah (Marathi)
Hasbullah Bin Pit (Projek Gabai)
Kjartan Maraas (Norwegian Bokmal)
Jyotshna Shrestha (Nepali)
Tino Meinen (Dutch)
Åsmund Skjæveland (Norwegian Nynorsk)
Zuza Software Foundation (Northern Sotho)
Gora Mohanty (Oriya)
A S Alam (Punjabi)
Gnome PL Team (Polish)
Afonso Celso Medina (Brazilian Portuguese)
Duarte Loreto (Portuguese)
Mişu Moldovan (Română)
Leonid Kanter (Russian)
Steve Murphy (Kinyarwanda)
Marcel Telka (Slovak)
Andraž Tori (Slovenian)
Laurent Dhima (Albanian)
Bojan Suzic (Serbian)
Danilo Šegan (Serbian)
Данило Шеган (Serbian)
Christian Rose (Swedish)
Felix (Tamil)
Prajasakti Localisation Team (Swecha)
Paisa Seeluangsawat (Thai)
Gurban Mühemmet Tewekgeli (Turkmen)
Baris Cicek (Turkish)
Albert Fazlí (Tatarish) 
Maxim Dziumanenko (Ukrainian) 
Zack Ajmal (Urdu)
Mashrab Kuvatov (Uzbek) 
Clytie Siddall (Vietnamese)
Pablo Saratxaga (Walloon)
Canonical Ltd (Xhosa)
Raphael Finkel (Yiddish) 
Funda Wang (Simplified Chinese)
Chao-Hsiung Liao (Chinese (Hong Kong))
Chao-Hsiung Liao (Chinese (Taiwan))

Matthias Clasen
July 3, 2006

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