A GNOME 3.12 számos új funkciót és továbbfejlesztést tartalmaz a GNOME technológiákkal dolgozó fejlesztők számára.
A GTK+ eszközkészlet három új felületi elemet kapott a 3.12-ben:
GtkActionBar: új konténer, amely egy középre igazított gyermeket tartalmaz, például egy GtkHeaderBar-t. Ezt felületi elemek alján, a kijelölt tartalomhoz tartozó műveletek megjelenítéséhez lehet használni.
GtkPopover: ez az új felületi elem átmeneti nézetekhez használható, menük vagy párbeszédablakok alternatívájaként.
GtkFlowBox: ez a konténer a gyermekeit újratördelődő rácsként jeleníti meg, amely lehet vízszintes vagy függőleges tájolású.
A GNOME 3.12 egy új értesítési API-t tartalmaz. A GIO része és GNotification néven érhető el, az új API a libnotify utóda, így már nem kell ezt linkelni. (A GNotification tartalékként képes a org.freedesktop.Notifications D-Bus felület használatára.)
Az új API szépen integrálódik a GTK+-szal, és együttműködik a GApplication és GAction API-kkal. A libnotify számos képességét biztosítja, valamint néhány újat is, például az értesítések megmaradását az alkalmazás kilépése után is. Lehetővé teszi továbbá egy alkalmazás újraindítását, amikor a felhasználó aktivál egy értesítést.
További részletek a GNotification API használatáról a How Do I wiki oldalon találhatók.
A 3.12 tartalmaz egy új, hatékony folyamatindítási API-t is. Az új API lehetővé teszi a gapplication parancssori segédprogram használatát alkalmazások indítására. Az alkalmazások utasíthatók fájlok megnyitására vagy műveletek aktiválására indításkor. Lehetőség van felsorolni az elérhető alkalmazásokat és műveleteket, és a parancssori alkalmazás támogatja a bash kiegészítést is.
A GApplication mostantól támogatja a parancssor kezelését, beleértve a kényelmes --gapplication-service kapcsolót.
A 3.12 rengeteg javítást tartalmaz a GTK+ API referencia dokumentációjához. A dokumentációs át lett strukturálva a logikusabb sorrend érdekében. Az összefoglaló részek az egyszerűbb olvasás érdekében egyszerűsítve lettek, és a felületi elemek képernyőképei mind frissítésre kerültek.
A dokumentáció jelölőnyelve is fejlődött számos programkönyvtárban. A GTK+, GLib, GDK-Pixbuf és Clutter mind át lett alakítva a Markdown használatára. Ez sokkal áttekinthetőbb megjelenést és forrás szintjén egyszerűbb karbantartást eredményez.
Végül minden dokumentáció formázása javult, amely vonzóbbá és egyszerűbben olvashatóvá teszi ezeket.
Nagyon sokat haladtunk a teljes Wayland integráció felé a 3.12-ben. Ez tartalmazza az új libinput programkönyvtár létrehozását, és új funkcionalitást a bejelentkezés- és munkamenet-kezeléshez. A Wayland iránt érdeklődő vagy a szoftvereiket Wayland környezetben tesztelni kívánó fejlesztők kipróbálhatják a legutóbbi fejlesztési eredményeket.
A gnome-shell Wayland alatti futtatásához adja ki a következő parancsot egy terminálban:
gnome-session --session=gnome-wayland
Lehetőség van egyedi alkalmazások Wayland alatti futtatására is a GDK_BACKEND megadásával. Futtassa a következő parancsot az alkalmazás_neve helyére a futtatandó alkalmazás végrehajtható fájljának nevét írva:
GDK_BACKEND=wayland alkalmazás_neve
Ha egy alkalmazás futtatása Wayland alatt meghiúsul, akkor megpróbál X11 alatt elindulni.
További részletek a GNOME Wayland alatti futtatásáról a GNOME Wayland wiki oldalán találhatók.
A Tracker, a keresőmotor, keresőeszköz és metaadat-tároló rendszer fejlesztések hosszú során esett át a 3.12-höz:
A Tracker kódjából létrejött a libmediaart nevű programkönyvtár a multimédiafájlokhoz tartozó grafikák kezelésére. A libmediaart lehetővé teszi a médiafájlokban tárolt grafikák gyorsítótárazását, és konzisztens módot biztosít a grafikák kikeresésére és a gyorsítótár méretének csökkentéséhez az előadók, albumok és médiaelemek esetén. (a libmediaart célja nem a bélyegképek előállítása.)
Egy másik új programkönyvtár, a libtracker-control a kereső adatbányászok kezelésére született meg.
Az új passzív kinyerési funkciók lehetővé teszik bizonyos metaadatok kinyerését (például kép tájolása) szignálok figyelésével erőforrások változásakor. Korábban az erőforrással kapcsolatos információk beszúrása egy lépésben történt. Ez a funkció azt jelenti, hogy a fájl adatai (azaz fájlnév, méret stb.) akkor is beszúrásra kerül, ha egyes metaadatok nem.
Mostantól lehetséges az RDF típusok priorizálása indexeléskor: ez lehetővé teszi az indexelés egyes helyzetekre hangolását.
A tracker:normalize() és tracker:unaccent() SPARQL függvények immár támogatottak.
Az új tracker-sparql --tree parancs megjeleníti az adatbázis ontológiáját. Ez segít a fejlesztőknek tiszta képet kapni az osztályhierarchiáról.
A kódolás felismerését mostantól az ICU-val rendelkező metaadatok is támogatják.
A Tracker tároló GraphUpdated szignálkésleltetése mostantól konfigurálható. Ezzel a szignállal kerülnek elküldésre az értesítések az adatbázis erőforrás-változásairól (például új fájl hozzáadása). Korábban a késleltetés mindig egy másodperc volt.
A Grilo médiafelfedezési keretrendszer mostantól lehetővé teszi az online médiaforrások hozzáadását a Lua hatékony, de egyszerű mintaillesztési képességeivel. További részleteket, beleértve példákat is, Bastien Nocera blogbejegyzésében talál.
A kliensoldali dekorációk lehetővé teszik az alkalmazásablakok számára funkciók átvételét az ablakkezelőtől. Ezek először a legutóbbi ciklusban jelentek meg az új GtkHeaderBar felületi elemmel. Azóta a GtkHeaderBar fejlesztése beérett. A felületi elem most már konzisztens magasságú, és az ablakok a fejlécsáv húzásával is mozgathatók érintőképernyős eszközökön. A fejlécsávok tartalmazhatnak alkalmazásmenüket, valamint a normál bezárás gombon kívül számos ablakvezérlőt is.
A GNOME Python kötései tovább fejlődtek a 3.12-ben:
A függvények Python doc sztringjei mostantól pontos hívásaláírásokat jelenítenek meg, beleértve az argumentum- és visszatérésitípus-információkat is.
Mostantól létezik egy implicit None alapértelmezés a záró függvényargumentumokhoz.
Mostantól minden visszahívás-összekapcsolási függvény elfogad változó számú felhasználói adatargumentumot.
Új demók mutatják be a CSS használatát GTK+-ban Pythonból.
A GObject.threads_init hívása már nem kötelező többszálú programozáshoz.
Ezen kívül számos memóriahasználati- és teljesítményjavítás történt.
A portolhatóság a különböző UNIX operációs rendszerek között jelentősen javult a 3.12-ben. Több, mint 150 FreeBSD hibát jelentettek és javítottunk, és a tesztfordítások is rendszeresen futnak. A munka más operációs rendszerek esetén folyamatos. A GLib új, támogatott platformokra vonatkozó irányelvet kapott.
Ezekről az erőfeszítésekről további részletek Ryan Lortie blogbejegyzésében találhatók.
További fejlesztések a fejlesztők és rendszergazdák számára a 3.12-ben:
A legtöbb GTK+ konténer mostantól hátteret is rajzol.
A modellalapú menük megadott feltételek alapján képesek elemeket elrejteni.
A GtkBox mostantól támogatja a középre igazított gyermeket, a GtkHeaderBar mintájára.
A magas DPI sűrűségű kijelzők támogatottá váltak a Clutterben, ugyanazon beállítás használatával, mint a GTK+ és a GNOME beállításdémon.
Véleménye van? Hibát talált? Az utasítások nem egyértelműek? Küldjön visszajelzést az oldalról.