What's New for Developers

The following changes are important for developers using the GNOME 2.26 developer platform. If you're not interested in changes for developers, you can skip forward to Section 5 ― Internationalisation.

As well as the GNOME Desktop, GNOME 2.26 is the latest release of the GNOME Developer Platform, a set of API and ABI stable libraries available under the GNU LGPL that can be used for the development of cross-platform applications.

Fixing Usage of Deprecated Libraries

Starting with GNOME 3.0, various deprecated parts of GNOME will be removed. These deprecated components include GNOME-specific libraries such as libgnome, libgnomeui, libgnomeprint, libgnomeprintui, libglade and libgnomevfs. For applications that ship as part of the GNOME Desktop, a number of cleanup tasks have been carried out to ensure no deprecated code is used. This will ensure the smooth transition to GNOME 3.0.

Developers are strongly urged to follow this example in their own applications too. Furthermore, for any developers (or potential developers) who wish to help us out, the GNOME goals wiki page lists the various tasks that are yet to be completed.

4.1. GTK+ 2.16

GTK+ 2.16 is the latest release of the GTK+ toolkit, which is at the heart of GNOME. GTK+ 2.16 includes a couple of new features for developers, as well as extensive bug fixing and housecleaning for the upcoming GTK+ 3.0.

GtkEntry widgets can now display icons at the front or back of the entry widget (depending on your locale's text direction). These icons are optionally prelightable and clickable.

Figure 8Icons in GtkEntry

GtkEntry widgets can now also be used to display a progress bar.

Figure 9GtkEntry with a progress bar

A new interface, GtkActivatable, has been added for widgets that can be connected to a GtkAction.

4.2. Access to Disc Burning APIs

libbrasero-media provides an API for accessing the disc burning infrastructure in GNOME. An example of its use can be found in GNOME's Media Player, which includes a plugin to burn DVDs and VCDs from a video.

4.3. Access to Evince APIs

A new library, libevview, has been created to provide the EvView widget used in Evince. This allows other applications to embed Evince's document viewing component.

libevdocument is a library that makes it possible to develop third-party document backends for use with Evince without having to add them to the Evince source tree.

Both libraries already have available Python bindings included in gnome-python-desktop.

4.4. Anjuta

The Anjuta integrated development environment has gained some great improvements in GNOME 2.26. Most important is a completely rewritten symbol management engine that, together with the new bookmark system, allows for much faster code navigation. Auto-detection of any libraries using pkg-config for code completion and calltips is now possible.

In addition, the integration of version control systems and the Glade interface designer have taken a major step forward. The file tree now shows status icons for all files in projects using the Subversion or Git version control systems. It is possible to automatically generate callbacks from Glade, and GtkBuilder files are now supported.

For better support of the GNOME Mobile platform, remote debugging using gdbserver and support for Scratchbox (version 2) have also been added.