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
- 4.2. GLib 2.18
- 4.3. GTK+ 2.14
- 4.4. Librerie per la messaggistica istantanea
- 4.5. Deskbar
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.
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.
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.