Vad är nytt för utvecklare
Följande ändringar är viktiga för utvecklare som använder GNOME 2.28 som utvecklingsplattform. Om du inte är intresserad av ändringar för utvecklare så kan du hoppa vidare till Avsnitt 6 ― Internationalisering.
Såväl som GNOME-skrivbordet så är GNOME 2.28 den senaste utgåvan för GNOME:s utvecklingsplattform, en uppsättning av API- och ABI-stabila bibliotek tillgängliga under GNU LGPL-licensen som kan användas för utveckling av program för flera olika plattformar.
I och med GNOME 3.0 så kommer olika föråldrade delar av GNOME att tas bort. Dessa föråldrade komponenter inkluderar bibliotek såsom libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas libgnomeprint, libgnomeprintui, libgnomeui och libgnomevfs. För program som levereras som en del av GNOME-skrivbordet har ett antal upprensningsaktiviteter genomförts för att försäkra att ingen föråldrad källkod används. Detta kommer att försäkra en mjuk övergång till GNOME 3.0.
Utvecklare bör nog följa detta exempel i deras egna program också. Ytterligare, för alla utvecklare (eller potentiella utvecklare) som önskar att hjälpa oss, ta en titt på wikisidan GNOME goals för att se olika uppgifter som ännu inte har färdigställts. En automatiskt skapad och uppdaterad statusöversikt över återstående arbete med moduler som stöds av byggverktyget jhbuild kan hittas här.
- 5.1. Plattformsupprensning
- 5.2. GTK+ 2.18
- 5.3. GLib
- 5.4. GNOME-dokumentation
- 5.5. GNOME Bluetooth
- 5.6. Webbläsaren Epiphany
- 5.7. Panelprogrammet Tidmätare
- 5.8. GNOME-Media
- 5.9. Totem
- 5.10. Vinagre
- 5.11. Brasero
5.1. Plattformsupprensning
Stora insatser har gjorts för att ta bort föråldrade moduler och funktionalitet på vägen mot GNOME 3.0.
I GNOME 2.28 så finns det inte längre några program som är beroende av esound, libgnomevfs, libgnomeprint eller libgnomeprintui.
Andra förbättringar i GNOME-plattformen i GNOME 2.28 inkluderar:
- Ett beroende för libart_lgpl togs bort från två moduler (eog och gtkhtml).
- Ett beroende för libbonobo(ui) togs bort från fem moduler (gnome-control-center, gcalctool, gnome-media, gtkhtml och accerciser).
- Ett beroende för libglade togs bort från 28 moduler (accerciser, alacarte, gnome-control-center, dasher, empathy, gcalctool, gnome-games, gnome-netstatus, gnome-nettool, gnome-mag, gnome-menus, gnome-panel, gnome-power-manager, gnome-screensaver, gnome-session, gnome-settings-daemon, gnome-system-tools, gnome-utils, gtkhtml, hamster-applet, libgnomekbd, orca, pessulus, seahorse, vino, vinagre, yelp och zenity).
- Ett beroende för libgnome togs bort från 14 moduler (anjuta, gnome-control-center, dasher, evolution-webcal, gconf, gdl, gdm, gnome-desktop, gnome-media, gnome-system-tools, gok, gtkhtml, vino och yelp).
- Ett beroende för libgnomecanvas togs bort från tre moduler (anjuta, gtkhtml och zenity).
- Ett beroende för libgnomeprint(ui) togs bort från en modul (gnome-games).
- Ett beroende för libgnomeui togs bort från 16 moduler (anjuta, gnome-control-center, dasher, deskbar-applet, gnome-mag, gnome-media, gnome-settings-daemon, gnome-system-tools, gnome-utils, gok, gtkhtml, hamster-applet, nautilus, orca, vino och yelp).
- Ett beroende för libgnomevfs togs bort från tre moduler (dasher, gnome-mag och gnome-utils).
- Många moduler tillhandahåller nu en finare och renare byggutskrift när de kompileras med AM_SILENT_RULES eller Shave. För mer information, se http://live.gnome.org/GnomeGoals/NicerBuilds.
- Några moduler har börjat använda GIntrospection — se http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport för mer information.
Många program har också tagit bort användningen av föråldrade och utfasade GTK+ och GLib-symboler och har tillämpat den nya policyn till att endast inkludera toppnivå-headers för GTK+ och GLib.
5.2. GTK+ 2.18
GTK+ 2.18 är den senaste utgåvan av verktygslådan GTK+, som är hjärtat i GNOME. GTK+ 2.18 inkluderar nya funktioner för utvecklare, såväl som massiv felrättning och husstädning för kommande GTK+ 3.0.
Filväljaren har fått ett antal förbättringar. Den kommer nu ihåg dess sorteringstillstånd och har bättre standardvärden, såsom att dölja säkerhetskopior och visa kolumnen Storlek. Den har även förbättrad ellipsering i sökvägsraden.
GTK+ har också fått ett antal andra förbättringar, bland annat:
- GtkEntry-widgetar kan nu även användas för att visa en förloppsmätare.
- GtkEntry har fått en model-view-separation.
- GtkLabel kan visa inbäddade URI:er.
- Utskrifter har nu stöd för utskrifter av ett val.
- Sidkonfigurationskontroller kan nu inbäddas i utskriftsdialogrutan.
- Statusikoner har fått en titelegenskap för förbättrat hjälpmedelsstöd.
- En ny widget, GtkInfoBar, har lagts till för att visa meddelanden i huvudfönstret istället för i en dialogruta.
- GTK kan kompileras med en modern version av automake (automake 1.7 behövs inte längre) och i tyst läge med kommandot "make V=0".
5.3. GLib
GNIO har sammanfogats in i GIO, och API:er är nu inkluderade för att fungera med IPv4- och IPv6-adresser, uppslag av värdnamn, omvända IP-uppslag, lågnivåsuttag (socket I/O), samt arbeta med nätverksanslutning och -tjänster.
GArray, GMappedFile och GTree är nu referensräknade.
Main-loopen har stöd för standardkontexter per-thread.
Stöd har lagts till för läs-skriv-åtkomst med GIOStream och dess underklasser.
GLib har nu även inkluderat stöd för per-file-metadata.
5.4. GNOME-dokumentation
Stöd för Mallard, det nya GNOME Documentation XML-språket, har lagts till i Yelp och gnome-doc-utils.
För dokumentationsförfattare så finns nu Mallard, ett komplett XML-markupspråk som är designat uttryckligen för ämnesorienterad hjälp, med en enklare inlärningskurva än Docbook.
Hjälpen för Empathy är den första GNOME-dokumentationen som skrivits i Mallard, och är även den första dokumentationen att flytta över till licensen Creative Commons Share-Alike 3.0, som all GNOME-dokumentation kommer att flyttas över till i framtiden.
5.5. GNOME Bluetooth
Stöd för insticksmoduler har lagts till och finns tillgängligt under enhetskonfigurationen, vilket ger stöd åt GNOME-program att använda Bluetooth-enheter.
Moderna widgetar för val av Bluetooth-enhet, inklusive en knapp och väljare, har lagts till.
5.6. Webbläsaren Epiphany
Med Epiphanys byte till Webkit så finns ett antal förbättringar tillgängliga för utvecklare i Epiphany.
WebKitGTK+ inkluderar extremt snabb behandling av Javascript, ett mindre fotavtryck, ett GObject-API samt en inbyggd webbinspektör. Epiphany inkluderar även nytt stöd för Seed-utökningar (JavaScript) och med detta så har stöd för Python tagits bort.
Epiphany använder även libsoup för dess HTTP-implementation, och proxyservrar fungerar nu på samma sätt över hela GNOME. Saknade funktioner i libsoup inkluderar HTTP-cache och teckenkodning för innehåll.
Och till sist, sammanhangsmenyn i webbvyn är inte anpassningsbar för Epiphany än, standardvyn för WebKit används dock.
5.7. Panelprogrammet Tidmätare
Alla funktioner finns nu tillgängliga via ett introspektabelt D-Bus-API.