Nieuws voor ontwikkelaars

De volgende wijzigingen zijn belangrijk voor ontwikkelaars die het Gnome 2.24-ontwikkelplatform gebruiken. Als u niet geïnteresseerd bent in wijzigingen voor ontwikkelaars, kunt u verder gaan naar Paragraaf 5 ― Nieuws in Mobile.

4.1. Voorbereiding treffen voor GLib/GTK+ 3.0

Om ontwikkelaars voor te bereiden op GLib en GTK+ 3.0, worden er in de komende uitgaven diverse opties toegevoegd om strictere compatibiliteit te forceren.

GLib, GTK+ en ATK 3.0 zullen vereisen dat alleen top-level headers (bijv. glib.h, gobject.h, gio.h) zijn ingesloten in programma's. Deze wijziging is belangrijk om het mogelijk te maken om individuele headers te verwijderen, te hernoemen en te herschikken zonder de broncode-compatibiliteit van programma's te schaden.

Om het voor ontwikkelaars mogelijk te maken om hun programma's nu op compatibiliteit te testen, zijn er nieuwe compileeropties toegevoegd: G_DISABLE_SINGLE_INCLUDES voor GLib, GTK_DISABLE_SINGLE_INCLUDES voor GTK+ en ATK_DISABLE_SINGLE_INCLUDES voor ATK.

Geef simpelweg de volgende opties mee bij het compileren van uw programma (bijv. -DG_DISABLE_SINGLE_INCLUDES) om u ervan te verzekerendat uw programma correct is.

Verdere compatibiliteitstesten

Glib, GTK+ 3.0 en geassocieerde softwarebibliotheken leveren ook andere compileeropties die u kunt gebruiken om de compatibiliteit met GTK+ 3.0 te testen.

U kunt de ondersteuning voor afgekeurde symbolen en klassen, die verwijderd zullen worden in versie 3.0, uitschakelen door het volgende te definiëren tijdens het compileren: ATK_DISABLE_DEPRECATED, PANGO_DISABLE_DEPRECATED, G_DISABLE_DEPRECATED, GDK_PIXBUF_DISABLE_DEPRECATED, GDK_DISABLE_DEPRECATED en GTK_DISABLE_DEPRECATED voor respectievelijk ATK, Pango, GLib, GdkPixbuf, GDK en GTK+.

U kunt testen of uw programma alleen gebruik maakt van functies die systemen met meerdere beeldschermen correct ondersteunen door GDK_MULTIHEAD_SAFE en GTK_MULTIHEAD_SAFE te definiëren.

4.2. GLib 2.18

Gnome 2.24 is de eerste versie van Gnome die afhankelijk is van GLib 2.18.

GLib 22.18 heeft betere ondersteuning voor het leveren van context in tekenreeksvertalingen met C_()- en NC()-macro's, evenals extra API in GIO.

Een complete lijst van nieuwe symbolen is beschikbaar voor GLib en GIO.

4.3. GTK+ 2.14

Gnome 2.24 is de eerste versie van Gnome die afhankelijk is van GTK+ 2.14.

Een belangrijke verandering in deze versie van GTK+ is dat widgets die afstammen van GtkAdjustment (zoals omhoog-/omlaagknoppen en schuifregelaars) hun waardebereik nu strikt handhaven als [laagste, hoogste - paginagrootte], overeenstemmend met de documentatie. Als u zeker wilt zijn van het waardebereik [laagste, hoogste], stel dan page_size in op de waarde 0.

Glade en GTK+ 2.14

Alle versies van Glade (inclusief 3.4.1) stellen GtkSpinButton, GtkHScale en GtkVScale standaard in met een page_size-waarde van 10. Het wordt ontwikkelaars sterk aangeraden om alle gemaakte Glade-bestanden te controleren of de opgegeven waarde daadwerkelijk de bedoelde waarde is.

Een nieuwe klasse, GtkMountOperation, is verstrekt om aan g_volume_mount door te geven. GtkMountOperation is een classname>GMountOperation

Een wijd te gebruiken methode om bestanden en andere URI's te openen door middel van standaard programma's is nu beschikbaar, in de vorm van de functie gtk_show_uri(), in plaats van afhankelijk te zijn van libgnome. GDK biedt nu een implementatie van GAppLaunchContext om grafische programma's af te handelen (onder andere opstartnotificatie en preventie tegen het overnemen van de focus): GdkAppLaunchContext.

Ook nieuw in GTK+ 2.14 is een op GFile gebaseerde API voor GtkFileChooser en de mogelijkheid om met GtkBuilder fragmenten van een XML-boom te maken.

Een complete lijst van nieuwe symbolen is beschikbaar voor GTK+ en GDK.

4.4. Instant Messaging-softwarebibliotheken

Gnome 2.24 bevat een nieuw programma voor instant messaging (zie Empathy). Hierbij worden ook de bibliotheken libempathy, libempathy-gtk en telepathy-glib meegeleverd, zodat ieder Gnome-programma mogelijkheden tot instant messaging kan integreren.

4.5. Actiebalk

De Match-interface bevat nu twee nieuwe methoden: set_snippet en get_snippet. Wanneer een snippet is ingesteld, zal deze weergeven worden op een nieuwe regel onder de bijbehorende get_verb-waarde.

De Action-interface heeft nu een nieuwe methode, genaamd get_tooltip. Door deze methode te implementeren is het mogelijk een zwevende tip te tonen wanneer de gebruiker de muisaanwijzer beweegt over een overeenkomend resultaat of over een actie.