What's New For Developers

The GNOME 2.12 Development Platform provides a stable base for third-party software developers, and for the GNOME Desktop itself. GNOME 2.12 adds some user-visible and API improvements, while maintaining backwards compatibilty and API-stability. It also makes it easier to develop applications that run on Unix and Windows, and use important standards to interoperate with other desktops.

3.1. GTK+ Improvements

In GNOME 2.12, GTK+ 2.8 provides some interesting user-visible features, such as

  • GTK+ kasutab nüüd FreeDesktop.org'i Cairo joonistamise API't, mis kergendab kohandatud vidinate joonistamist hoopis ja võimaldab uusi efekte. Lähemas tulevikus peaks see samm lubama GNOME'i kasutada uusi graafilisi efekte ning ära kasutada riistvaralist kiirendust ning lisaks sellel peaks täiustama meie printimise API't.
  • Drag and drop handling has been improved and now previews blocks of text when you drag them.

In addition to these changes, which all GTK-based applications can use without recompilation, several new APIs have been added to make developement even easier. These include:

  • GtkFileChooser võib näidata nüüd salvestusrežiimis faili ümberkirjutamise kinnitusdialoogi.
  • GtkWindow can have an urgency hint, instructing the window manager to, for instance, flash the window title.
  • GtkIconView now implements the GtkLayout interface, and can render items via GtkCellRendererCells.
  • GtkTextView now allows you to set a background color for pargraphs, and you can now skip over invisible text when iterating.
  • GtkScrolledWindow has functions to get the scrollbars.
  • GtkMenu now supports vertical (rotated) menus, and it can ignore keyboard focus, for special applications such as the onscreen keyboard.
  • GtkEntryCompletion's popup menu may now be wider than the Entry, and the popup can be avoided when there is only a single match.
  • GtkAboutDialog's license text can now be wrapped.
  • GtkToolButton can now use named icons from icon themes, and these iscons may also be used when dragging.
  • GtkSizeGroup can ignore hidden widgets.

See also the full list of the new API in GTK+ 2.8.

3.2. Cross-platform

The GTK+ library is already popular among developers who need to support multiple platforms, including Microsoft Windows as well as Linux and UNIX. For instance, artists may edit their images using GIMP and Inkscape on either Linux or Windows.

And now many more GNOME libraries, including ORBit2, libbonobo, libgnome, libbonoboui, libgnomeui and gnome-vfs, can build on Microsoft Windows, making it easier to build and distribute GNOME applications on that platform. While this support is not yet complete, it may be sufficient for some applications, and is expected to be complete in the next release of GTK+ and GNOME.

3.3. Standardite järgmine

GNOME works closely with groups such as freedesktop.org. Standards support is a big plus for GNOME developers and users. Interoperability support improves the user experience by allowing GNOME, KDE, and other applications to work together more easily, and following open specifications helps ensure that user data is not trapped in proprietary formats.

GNOME'i arendajad teevad rasket tööd koos teiste vaba tarkvara kogukondadega Freedesktop.org organisatsiooni abil, selleks et välja arendada standardeid ühilduvuse garanteerimiseks. Nende poolt välja töötatud standardite hulka kuuluvad järgmised standardid: jagatud MIME andmebaas, ikooniteemad, hiljutised failid, menüüd, töölaua kirjed, pisipiltide haldus, ja süsteemisalv. Lisaks eelpoolnimetatutele toetab GNOME veel CORBA, XML, Xdnd, EWMH, XEMBED, XSETTINGS, ja XSMP standardeid.