Nyt for udviklere
Følgende ændringer er vigtige for softwareudviklere, som bruger GNOME 2.28-udviklingsplatformen. Hvis du ikke er interesseret i ændringer for softwareudvikling, kan du springe videre til Afsnit 6 ― Internationalisering.
Ud over GNOME-skrivebordet er GNOME 2.28 også den seneste udgave af GNOME-udviklingsplatform, som består af et sæt af API- og ABI-stabile biblioteker under GNU LGPL, der kan bruges til udvikling af krydsplatformprogrammer.
Fra GNOME 3.0 af vil forskellige deprecierede dele af GNOME blive fjernet. Disse deprecierede komponenter inkluderer GNOME-specifikke biblioteker som f.eks. libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas, libgnomeprint, libgnomeprintui, libgnomeui og libgnomevfs. For de programmer som bliver udgivet som en del af GNOME skrivebordet, er der blevet udført en række oprydningsopgaver, for at sikre, at der ikke længere bruges deprecieret kode. Dette vil sikre en glat overgang til GNOME 3.0.
Udviklere opfordres stærkt til også at følge dette eksempel i deres egne programmer. Derudover kan udviklere (eller potentielle udviklere), som har lyst til at hjælpe os, finde en liste over opgaver som, endnu ikke er fuldført på wikisiden GNOME-mål. En automatisk dannet og opdateret statusoversigt, over det arbejde som mangler i de moduler som understøttes af kompileringsværktøjet jhbuild, kan ses her.
- 5.1. Oprydning af platformen
- 5.2. GTK+ 2.18
- 5.3. GLib
- 5.4. GNOME-dokumentation
- 5.5. GNOME Bluetooth
- 5.6. Epiphany-internetbrowser
- 5.7. Panelprogram til tidsstyring
- 5.8. GNOME-Media
- 5.9. Totem
- 5.10. Vinagre
- 5.11. Brasero
5.1. Oprydning af platformen
Megen arbejde er blevet udført, for at fjerne deprecierede moduler og funktionalitet hen mod GNOME 3.0.
I GNOME 2.28 er der ikke længere nogen moduler som afhænger af esound, libgnomevfs, libgnomeprint eller libgnomeprintui.
Andre forbedringer af GNOME-platformen i GNOME 2.28 inkluderer:
- En afhængighed af libart_lgpl blev fjernet fra to moduler (eog og gtkhtml).
- En afhængighed af libbonobo(ui) blev fjernet fra fem moduler (gnome-control-center, gcalctool, gnome-media, gtkhtml og accerciser).
- En afhængighed af libglade blev fjernet fra 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 og zenity).
- En afhængighed af libgnome blev fjernet fra 14 moduler (anjuta, gnome-control-center, dasher, evolution-webcal, gconf, gdl, gdm, gnome-desktop, gnome-media, gnome-system-tools, gok, gtkhtml, vino og yelp).
- En afhængighed af libgnomecanvas blev fjernet fra tre moduler (anjuta, gtkhtml og zenity).
- En afhængighed af libgnomeprint(ui) blev fjernet fra et modul (gnome-games).
- En afhængighed af libgnomeui blev fjernet fra 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 og yelp).
- En afhængighed af libgnomevfs blev fjernet fra tre moduler (dasher, gnome-mag og gnome-utils).
- Adskillige moduler giver nu et pænere og renere kompileringsoutput, når de kompileres ved hjælp af en af reglerne AM_SILENT_RULES eller Shave. Se siden http://live.gnome.org/GnomeGoals/NicerBuilds for mere information.
- Nogle moduler er begyndt at bruge GIntrospection — se siden http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport for flere detaljer.
Mange applikationer har også fjernet brugen af deprecierede GTK+- og GLib-symboler, og har implementeret den nye politik omkring kun at inkludere top niveauhoveder (headere) fra GTK+ og GLib.
5.2. GTK+ 2.18
GTK+ 2.18 er den seneste udgave af værktøjssættet GTK+, som er hjertet af GNOME. GTK+ 2.18 inkluderer nye funktioner til udviklere, såvel som omfattende fejlretning og hovedoprydning før den kommende GTK+ 3.0.
Filvælgeren har modtaget en række forbedringer. Den kan nu huske sorteringstilstanden og har bedre forvalg, som f.eks. at skjule backupfiler og at vise størrelseskolonnen. Den har også forbedret ellipsegørelse.
GTK+ har også fået en række forbedringer, som bl.a. inkluderer:
- GtkEntry-kontroller kan nu også bruges til at vise en fremgangsbjælke.
- GtkEntry har en model-visnings-adskillelse.
- GtkLabel kan vise indlejrede URI'er.
- Der understøttes udskrivning af en markering.
- Kontroller til sideopsætning kan indlejres i printdialogen.
- For at forbedre tilgængelighed har statusikoner nu fået en titelegenskab.
- En ny kontrol, GtkInfoBar, er blevet tilføjet til at vise beskeder i hovedvinduet i stedet for i en dialog.
- GTK kan kompileres med en moderne version af automake (automake 1.7 er ikke længere nødvendigt) og i en stille tilstand med "make V=0"-kommandoen.
5.3. GLib
GNIO er blevet føjet ind i GIO og API'er er blevet tilføjet til at arbejde med IPv4- og IPv6-adresser, løse værtsnavne, omvendt IP-søgning, lavniveau sokkel-I/O og arbejde med netværks-forbindelser og -tjenester.
GArray, GMappedFile og GTree er nu referencetalt.
Hovedløkken understøtter trådspecifikt forvalgt komtekst.
Understøttelse er blevet tilføjet, som giver læse-skrive adgang med GIOStream og dets underklasser.
GLib inkluderer nu også understøttelse for filspecifikt metadata.
5.4. GNOME-dokumentation
Understøttelse for Mallard, det nye XML-sprog til GNOME-dokumentation, er blevet tilføjet til Yelp og gnome-doc-utils.
Dokumentationsforfattere har fået Mallard, som er et fuldt funktionsdygtigt XML-opmærkningssprog, som er designet specifikt til emneorienteret hjælp og har en nemmere indlæringskurve end Docbook.
Hjælpen til Empathy er den første del GNOME-dokumentation, som er blevet skrevet i Mallard og er også det del dokumentation, som flytter til et "Creative Commons - Del på lige vilkår (Share-Alike)"-licens, som al GNOME-dokumentation vil flytte til i fremtiden.
5.5. GNOME Bluetooth
Der er tilføjet understøttelse af udvidelsesmoduler, som gør det muligt for GNOME-programmer, at bruge Bluetooth-enheder. Disse moduler gøres tilgængelige under påsætning af enheder.
Der er blevet tilføjet en moderne Bluetooth-enhedsvælgerkontrol, som inkluderer en knap og en vælger.
5.6. Epiphany-internetbrowser
Med Epiphanys skifte til Webkit er adskillige forbedringer blev gjort tilgængelig for udviklere i Epiphany.
WebKitGTK+ inkluderer ekstrem hurtig Javascript-afvikling, et mindre fodaftryk, en GObject-API og en indbygget web-inspektør. Epiphany inkluderer også ny understøttelse af Seed(Javascipt)-udvidelser og med dette er den ekstra Python-understøttelse blevet fjernet.
Epiphany bruger libsoup til dens HTTP-implementation og proxier håndteres nu på samme måde på tværs af hele GNOME. Manglende funktioner i libsoup inkluderer HTTP-cache og indholdskodning.
Til sidst skal nævnes at kontekstmenuen i webvisningen ikke er tilpasset til Epiphany endnu, selvom den standardvisningen fra WebKit bliver brugt.
5.7. Panelprogram til tidsstyring
Alle funktioner er nu tilgængelig via en introspektivbar D-Bus-API.
5.9. Totem
xine-lib-motoren er blevet fjernet fra Totem og der er blevet tilføjet en API til asynkron tolkning (parsing).