Novità per gli sviluppatori

Le seguenti modifiche sono importanti per gli sviluppatori che fanno uso della piattaforma di sviluppo GNOME 2.24. Se non siete interessati a questi cambiamenti, potete passare alla sezione Sezione 5 - Novità per piattaforme mobili.

4.1. Preparativi per GLib/GTK+ 3.0

Al fine di preparare gli sviluppatori alla versione 3.0 di GLib e GTK+, nei futuri rilasci di entrambe le librerie saranno disponibili dei flag per forzare una compatibilità più restrittiva.

GLib, GTK+ e ATK 3.0 richederanno che solo i file header principali (come glib.h, gobject.h, gio.h) siano inclusi nelle applicazioni. Questa modifica è importante affinché i file header individuali possano essere rimossi, rinominati e riarrangiati senza compromettere la compatibilità del codice sorgente per le applicazioni.

Per consentire agli sviluppatori di provare la compatibilità delle loro applicazioni, vengono fornite delle nuove opzioni a tempo di compilazione: G_DISABLE_SINGLE_INCLUDES per GLib, GTK_DISABLE_SINGLE_INCLUDES per GTK+ e ATK_DISABLE_SINGLE_INCLUDES per ATK.

Basta passare questi flag in fase di compilazione durante le generazione della propria applicazione (per esempio: -DG_DISABLE_SINGLE_INCLUDES) per assicurarsi del suo corretto funzionamento.

Ulteriori prove di compatibilità

GLib, GTK+ e le librerie associate forniscono ulteriori opzioni a tempo di compilazione che è possibile usare per verificare la compatibilità con GTK+ 3.0.

È possibile disabilitare il supporto ai simboli e alle classi deprecati che verrano rimossi nella versione 3.0 definendo, in fase di compilazione, quanto segue: ATK_DISABLE_DEPRECATED, PANGO_DISABLE_DEPRECATED, G_DISABLE_DEPRECATED, GDK_PIXBUF_DISABLE_DEPRECATED, GDK_DISABLE_DEPRECATED e GTK_DISABLE_DEPRECATED per ATK, Pango, GLib, GdkPixbuf, GDK e GTK+ rispettivamente.

Per verificare che il programma utilizzi solo funzioni che supportano gli schermi multipli (multihead) definendo GDK_MULTIHEAD_SAFE e GTK_MULTIHEAD_SAFE.

4.2. GLib 2.18

GNOME 2.24 è la prima versione di GNOME che dipende da GLib 2.18.

GLib 2.18 dispone anche di un migliorato supporto ai "contesti" (context) nelle stringhe di traduzione, attraverso l'uso delle macro C_() e NC_() oltre a ulteriori API in GIO.

Un elenco completo dei nuovi simboli è disponibile per GLib e GIO.

4.3. GTK+ 2.14

GNOME 2.24 è la prima versione di GNOME che dipende da GTK+ 2.14.

Un importante cambiament in questa versione di GTK+ è che ora tutti i widget che derivano da GtkAdjustment (per esempio gli spinbutton e gli slider) forzano il loro intervallo ad essere strettamnte [inferiore, superiore - dimensione_pagina], come indicato nella documentazione. Per assicurare un intervallo tipo [inferiore, superiore], impostare dimensione_pagina a 0.

Glade e GTK+ 2.14

Tutte le versioni di Glade (inclusa la 3.4.1) al momento creano GtkSpinButton, GtkHScale e GtkVScale con un page_size pari a 10 in modo predefinito. Gli sviluppatori dovrebbero controllare ogni file Glade creato per assicurarsi che la dimensione di pagina abbia un valore sensato.

È ora disponibile una nuova classe, GtkMountOperation, per poter passare a g_volume_mount. GtkMountOperation è una GMountOperation in grado di mostrare all'utente, se necessario, un dialogo di autenticazione.

Oltre a questo, è anche disponibile un metodo portabile per l'apertura di file e di altri URI con l'applicazione predefinita usando la funzione gtk_show_uri(), senza dover quindi dipendere da libgnome. GDK ora fornisce un'implementazione di GAppLaunchContext per la gestione delle applicazioni grafiche (come le notifiche di avvio e la prevenzione del focus stealing), GdkAppLaunchContext.

Inoltre, nuovo in GTK+ 2.14, ora c'è un'API basata su GFile per GtkFileChooser e la possibilità per GtkBuilder di generare frammeti di un albero XML.

Un elenco completo dei nuovi simboli è disponibile per GTK+ e GDK.

4.4. Librerie per la messaggistica istantanea

Assieme al nuovo client per la messaggisitica istantanea (consultare Sezione 2.1 - Tenersi in contatto), GNOME 2.24 comprende le librerie "libempathy", "libempathy-gtk" e "telepathy-glib" che possono essere usate per integrare caratteristiche della messaggistica istantanea in qualsiasi applicazione GNOME.

4.5. Deskbar

L'interfaccia Match comprende ora due metodi: set_snippet e get_snippet. Se uno snippet è impostato, verrà visualizzato su una nuova riga al di sotto del valore corrispondente di get_verb.

L'interfaccia Action dispone ora di un nuovo metodo, get_tooltip. Scavalcando questo metodo è possibile mostrare un suggerimento quando l'utente passa col mouse sopra una corrispondenza o un'azione.