Home News GTK+ 2.10.0 Now Available

News by CGIDir

GTK+ 2.10.0 Now Available


Tuesday, July 4, 2006; 01:53 AM

The latest stable release of GTK+ is now available for download at

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

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.

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


Related Resources

Other Resources

image arrow