GNOME projekt avaldas esimese stabiilse vĂ€ljaande Libadwaita raamatukogust, mis sisaldab komponentide komplekti kasutajaliidese stiilide kujundamiseks, mis vastavad GNOME HIG (Inimese Liidese Suunised) soovitustele. Raamatukogu sisaldab valmis vidinaid ja objekte rakenduste loomiseks, mis vastavad GNOME'i ĂŒldisele stiilile, mille liides saab kohanduda mis tahes suuruses ekraanide jaoks. Raamatukogu kood on kirjutatud C keeles ja levitatakse LGPL 2.1+ litsentsi alusel.

Libadwaita raamatukogu kasutatakse koos GTK4-ga ning see sisaldab GNOME'i Adwaita teema komponente, mis on eraldatud GTK-st eraldi raamatukoguks. Libadwaita kood pÔhineb libhandy raamatukogul ja on suunatud selle raamatukogu asendamisele, mis loodi algselt adaptiivsete liideste loomiseks mobiilsete platvormide jaoks GNOME tehnoloogiate pÔhjal ning mis on viimistletud GNOME keskkonnas Phosh Liikumisvaba 5 nutitelefoni jaoks.
Raamatukogu sisaldab tĂŒĂŒpilisi vidinaid, mis katab erinevaid liideselemente nagu nimekirjad, paneelid, redigeerimismoodulid, nuppud, vaheetikud, otsinguvormid, dialooge jne. Pakutavad vidinad vĂ”imaldavad luua universaalseid liideseid, mis toimivad orgaaniliselt nii suurtel PC ja sĂŒlearvutite ekraanidel kui ka vĂ€ikestel puutetundlikes nutitelefonide ekraanidel. Rakenduste liides muutub dĂŒnaamiliselt sĂ”ltuvalt ekraani suurusest ja saadaval olevatest sisendseadmetest. Raamatukogu sisaldab ka Adwaita stiilide komplekti, mis viib vĂ€limuse vastavusse GNOME soovitustega, ilma et oleks vaja kĂ€sitsi kohandada.
GNOME'i visuaalsete elementide vĂ€lja toomine eraldi raamatukogusse vĂ”imaldab GNOME'i vajalikke muudatusi arendada eraldi GTK-st, mis annab GTK arendajatele vĂ”imaluse keskenduda pĂ”hiasjadele, samas kui GNOME arendajad saavad kiiresti ja paindlikult edendada vajalikku stiilimuutust, mĂ”jutamata ise GTK-d. Siiski loob sarnane lĂ€henemine probleeme kolmandate osapoolte GTK pĂ”histe kasutajakeskkondade arendajatele, kes peavad kas kasutama libadwaita ja kohandama end GNOMEi omadustega ning kordama selle kujundust vĂ”i arendama oma stiiliraamatukogu varianti GTK le, leppides sellega, et GNOME'i rakendused nĂ€evad kĂ”rvaliste stiiliraamatuste pĂ”histes keskkondades ebaĂŒhtlased vĂ€lja.
Kolmandate osapoolte keskkondade arendajate peamine rahulolematus puudutab probleeme liidese elementide vĂ€rvide ĂŒlekirjutamisega, kuid libadwaita arendajad töötavad API pakkumise nimel paindlikuks vĂ€rvide haldamiseks, mis kuulub jĂ€rgmiste vĂ€ljaannete hulka. Lahendamata probleemide seas mainitakse ka vidinate korrektset tööd, mis töötavad tĂ”husalt ainult puutetundlikes ekraanides â puuteplaadid toetuvad sarnaste vidinate Ă”igele tööle hiljem, kuna see nĂ”uab GTK-s muudatuste tegemist.
Peamised muudatused libadwaita osas vÔrreldes libhandyga:
- TĂ€ielikult ĂŒmber kujundatud stiilide komplekt. GNOME'i teemana kasutatav Adwaita on eraldatud GTK-st ja moderniseeritud, samas kui vana teema on GTK-s fikseeritud nimega "Default". KĂ”ige silmapaistvam erinevus libadwaita ja teema "Default" vahel on akende pealkirjade kujunduse muutus.

- Muudetud on vĂ€rvide sidumise mehhanisme elementide vahel ja vĂ€rvide vahetamise mehhanisme rakenduse töö kĂ€igus (probleemid on seotud sellega, et libadwaita on lĂ€inud ĂŒle SCSS-ile, mis nĂ”uab vĂ€rvi muutmiseks ĂŒmberkompileerimist). Elementide vĂ€rvide muutmiseks, mida nĂ€iteks GNOME Webis kasutatakse inkognito reĆŸiimi mĂ€rkimiseks, on rakendatud elementary OS-is ette pandud meetod, mis pĂ”hineb fikseeritud nimekirja mÀÀramisel nimeliste vĂ€rvide kaudu â@define-colorâ. Paljude liidese elementide vĂ€rve arvestatakse nĂŒĂŒd suhteliselt teksti pĂ”hivĂ€rviga ja need muutuvad automaatselt, mis ei vĂ”imalda rakendustel tĂ€ielikult kontrollida vĂ€rviskeemi (arendajad töötavad selle piirangu kĂ”rvaldamise nimel).


- Tumedate teemade kasutamisel on paranenud kuvamise kvaliteet, kuna elementide esiletĂ”stmine on kontrastsem. AktsentvĂ€rv (accent) on tehtud heledamaks ning on lisatud veel ĂŒks esiletĂ”stmiseks mĂ”eldud vĂ€rv, mis vĂ”ib tumeda ja heleda teema vahel muutuda.


- Lisatud on suur hulk uusi stiiliklasse rakendustes kasutamiseks. NĂ€iteks "pill" suurte ĂŒmarate nuppude jaoks, vĂ”imalus kasutada "flat" GtkHeaderBar'is, "accent" esiletĂ”stmisvĂ€rvi mÀÀramiseks etikettides, "numeric" tabeli tĂŒpograafia jaoks, "card" tausta ja varjude kasutamiseks loendites.

- Suur monoliitne SCSS-fail jagatakse vÀikeste stiilifailide kogumikuks.
- Lisatud on API tumeda teema ja kĂ”rge kontrastsuse reĆŸiimi seadistamiseks.

- Dokumentatsioon on ĂŒmber kujundatud, mille genereerimiseks kasutatakse nĂŒĂŒd tööriista gi-docgen.

- Lisatud on API animatsioonide jaoks, mida saab kasutada ĂŒleminekuefektide loomiseks ĂŒhe oleku vahetamisel teise vastu ning ka pĂ”rkefektide (spring animation) loomiseks.

- AdwViewSwitcher'i pÔhjal olevatele vahelehtedele on lisatud vÔimalus kuvada mÀrgid vahetamata teateid arvu kohta.

- Lisatud on klass AdwApplication (GtkApplicationi alamsĂŒnd), mis vĂ”imaldab automaatset Libadwaita initsialiseerimist ja stiilide laadimist.
- Lisatud vidinate kogumik tavapÀraste toimingute lihtsustamiseks: AdwWindowTitle akna pealkirja seadmiseks, AdwBin laste alamklasside lihtsustamiseks, AdwSplitButton kombineeritud nuppude jaoks, AdwButtonContent ikooniga ja etiketi nuppude jaoks.
- API puhastus on lÀbi viidud.
Allikas: opennet.ru










