GNOME projekt avaldas oma esimese stabiilse versiooni Libadwaita raamatukogust, mis sisaldab komponentide komplekti kasutajaliidese stiilimiseks, jĂ€rgides GNOME HIG (Inimese Liidese Suunised) soovitusi. Raamatukogu sisaldab valmis vidinaid ja objekte rakenduste jaoks, mis vastavad GNOME ĂŒldisele stiilile, mille liides suudab adaptiivselt kohanduda igasuguste ekraanide suurustega. Raamatukogu kood on kirjutatud C keeles ja levitatakse LGPL 2.1+ litsentsi alusel.

Libadwaita raamatukogu kasutatakse koos GTK4-iga ja sisaldab GNOME-i teema Adwaita komponente, mis on eraldatud GTK-st eraldi raamatukoguks. Libadwaita kood pÔhineb libhandy raamatukogul ja positsioneeritakse selle asendajana, mis loodi algselt mobiilsetele platvormidele GNOME-tehnoloogiate raames kohandatud liidese ehitamiseks ning tÀiustati GNOME keskkonnas Phosh nutitelefonile Librem 5.
Raamistik sisaldab erinevaid liideselemente, sealhulgas loendeid, paneele, redigeerimisbloke, nuppe, vahekaartide, otsinguvorme, dialooge jne. Pakutud vidinad vĂ”imaldavad luua universaalseid liideseid, mis sujuvalt töötavad nii suurte arvutiekraanide kui ka vĂ€ikeste puuteekraanide, nagu nutitelefonide, puhul. Rakenduse liides muutub dĂŒnaamiliselt vastavalt ekraani suurusele ja saadaval olevatele sisendi seadmetele. Raamistik sisaldab ka Adwaita stiilide kogumit, mis kohandab vĂ€limuse GNOME'i soovitustega kooskĂ”lla, ilma kĂ€sitsi kohandamise vajaduseta.
GNOME'i visuaalse disaini elementide eraldi teeki vĂ€ljatöötamine vĂ”imaldab GNOME'ile vajalikke muudatusi arendada eraldi GTK-st, mis annab GTK arendajatele vĂ”imaluse keskenduda pĂ”hiasjadele, samas kui GNOME arendajad saavad kiiresti ja paindlikult edendada endale vajalikke stiiliuuendusi, kahjustamata GTK-d ennast. Siiski tekitab selline lĂ€henemine probleemid GTK-pĂ”histe kolmandate osapoolte kasutajakeskkondade arendajatele, kes peavad kas kasutama libadwaitat ja kohanema GNOME'i eripĂ€radega ning kordama selle disaini, vĂ”i arendama vĂ€lja oma stiiliteegi variandi GTK jaoks, leppides sellega, et GNOME'i rakendused nĂ€evad kolmandate osapoolte stiiliteekide keskkondades ebaĂŒhtlased.
Kolmandate osade keskkondade arendajate peamine rahulolematus puudutab liidesekomponentide vĂ€rvide ĂŒlekirjutamise probleeme, kuid libadwaita arendajad töötavad paindliku vĂ€rvikontrolli API pakkumise nimel, mis lisatakse ĂŒhte jĂ€rgmistesse vĂ€ljaannetesse. Lahendamata probleemide hulgas on ka geestusvĂ”tmete vidinate korrektne töö ainult puutetundlikel ekraanidel â puutepadi puhul tagatakse selliste vidinate korrektne töö hiljem, kuna see vajab GTK-s muudatuste tegemist.
libadwaita peamised muudatused vÔrreldes libhandyga:
- TĂ€ielikult ĂŒmber kujundatud stiilide komplekt. GNOME'i teema Adwaita on eraldatud GTK-st ja moderniseeritud, samas kui vana teema on GTK-s fikseeritud nimega 'Default'. MĂ€rgatavamate erinevuste hulgas libadwaita ja 'Default' teema vahel on akna pealkirjade kujunduse muutmine.

- VĂ€rvide sidumise ja rakenduse ajal vĂ€rvide vahetamise mehhanisme on muudetud (probleemid tulenevad sellest, et libadwaita on ĂŒle lĂ€inud SCSS-ile, mis nĂ”uab vĂ€rvi asendamiseks uuesti kompileerimist). Elementide vĂ€rvide muutmiseks, nagu nĂ€iteks GNOME Webis inkognito reĆŸiimi sisenemise tĂ€histamiseks, on kasutusele vĂ”etud meetod, mille pakub elementary OS ja mis pĂ”hineb nimetatud vĂ€rvide fikseeritud nimekirja mÀÀramisel "@define-color" kaudu. Paljude liidese elementide vĂ€rvide arvutamine toimub nĂŒĂŒd teksti pĂ”hivĂ€rvi suhtes ning need muutuvad automaatselt, mistĂ”ttu rakendused ei saa tĂ€ielikult vĂ€rviskeemi kontrollida (arendajad töötavad selle piirangu kĂ”rvaldamise nimel).


- Tumedate teemapakkumiste kasutamisel on kuvade kvaliteeti parandatud elementide kontrastsuse suurendamise kaudu. AktsendivĂ€rv on tehtud erksamaks ning lisatud on veel ĂŒks vĂ€rv, mis vĂ”ib eristamiseks tumedate ja heledate teemade vahel muutuda.


- Rakendustes kasutamiseks on lisatud suur hulk uusi stiiliklasse. NĂ€iteks ".pill" suurte ĂŒmardatud nuppude jaoks, vĂ”imalus kasutada ".flat" GtkHeaderBar'is, ".accent" vĂ€rvi mÀÀramiseks siltides, ".numeric" tabeli tĂŒpograafia jaoks ja ".card" tausta ja varju kasutamiseks nagu loendites.

- Suurte monoliitsete SCSS-failide asemel on loodud vÀikeste stiilifailide kogu.
- Lisatud API tumeda stiili ja kĂ”rge kontrastsuse reĆŸiimi kohandamiseks.

- Dokumentatsioon on ĂŒmber tehtud, genereerimiseks kasutatakse nĂŒĂŒd gi-docgen tööriistu.

- Lisatud API animatsioonideks, mida saab kasutada ĂŒleminekuefektide loomiseks, kui ĂŒks olek asendatakse teisega, samuti pĂ”rkefektide (spring animation) loomiseks.

- AdwViewSwitcher'i vahekaartidele on lisatud vÔimalus kuvada silte koos lugemata teavituste arvu nÀitamisega.

- Libadwaita automaatseks inicialiseerimiseks ja stiilide laadimiseks on lisatud AdwApplication klass (GtkApplication alamklass).
- Lisatud on vidinate kogum, et lihtsustada tĂŒĂŒpilisi toiminguid: AdwWindowTitle akna pealkirja seadmiseks, AdwBin alamperekondade lihtsustamiseks, AdwSplitButton kombineeritud nuppude jaoks, AdwButtonContent nuppude jaoks, millel on ikoon ja silt.
- API on puhastatud.
Allikas: opennet.ru










