GNOME-projektet har publicerat den första stabila versionen av Libadwaita-biblioteket, som innehÄller en uppsÀttning komponenter för att styla anvÀndargrÀnssnittet enligt GNOME HIG (Human Interface Guidelines). Biblioteket innehÄller fÀrdiga widgets och objekt för att skapa applikationer som följer GNOME:s gemensamma stil och vars grÀnssnitt kan anpassa sig till skÀrmar av alla storlekar. Koden för biblioteket Àr skriven i C och distribueras under LGPL 2.1+-licensen.

Libadwaita-biblioteket anvÀnds tillsammans med GTK4 och inkluderar komponenter frÄn det GNOME-tema Adwaita, som har separerats frÄn GTK till ett eget bibliotek. Koden för libadwaita bygger pÄ libhandy-biblioteket och positioneras som en efterföljare till detta bibliotek, som ursprungligen skapades för att bygga anpassningsbara grÀnssnitt pÄ mobila plattformar baserade pÄ GNOME-teknologier, och har förfinats inom GNOME-miljön Phosh för smarttelefonen Librem 5.
Biblioteket innehÄller standardwidgets som omfattar olika grÀnssnittselement, sÄsom listor, paneler, redigeringsblock, knappar, flikar, sökformulÀr, dialogrutor m.m. De föreslagna widgets möjliggör skapandet av universella grÀnssnitt som fungerar smidigt bÄde pÄ stora PC- och laptopskÀrmar och pÄ smÄ pekskÀrmar pÄ smartphones. Applikationens grÀnssnitt Àndras dynamiskt beroende pÄ skÀrmens storlek och tillgÀngliga inmatningsenheter. Biblioteket inkluderar ocksÄ en uppsÀttning Adwaita-stilar som anpassar utseendet enligt GNOME:s rekommendationer, utan att man behöver göra manuell anpassning.
Att flytta GNOME:s visuella designÀrenden till ett separat bibliotek tillÄter nödvÀndiga förÀndringar för GNOME att utvecklas oberoende av GTK, vilket ger GTK-utvecklare möjlighet att fokusera pÄ grundlÀggande saker, medan GNOME-utvecklare snabbare och mer flexibelt kan frÀmja de nödvÀndiga förÀndringarna i stilen utan att pÄverka sjÀlva GTK. Detta tillvÀgagÄngssÀtt skapar dock svÄrigheter för utvecklare av tredje partens anvÀndarmiljöer baserade pÄ GTK, som antingen mÄste anvÀnda libadwaita och anpassa sig till GNOME:s sÀrdrag och Äterupprepa dess design, eller utveckla sin egen variant av stilbiblioteket för GTK, med insikten att GNOME-applikationer kommer att se heterogena ut i miljöer baserade pÄ tredje parts stilbibliotek.
Det största missnöjet bland utvecklarna av tredjepartsmiljöer handlar om problem med att Ă„sidosĂ€tta fĂ€rger för grĂ€nssnittselement, men utvecklarna av libadwaita arbetar pĂ„ att erbjuda ett API för flexibel hantering av fĂ€rger, som kommer att ingĂ„ i en av de kommande versionerna. Bland de olösta problemen nĂ€mns ocksĂ„ korrekt funktion av gestkontrollswidgets endast pĂ„ pekskĂ€rmar â för pekplattor kommer korrekt funktion av sĂ„dana widgets att sĂ€kerstĂ€llas senare, dĂ„ det krĂ€ver Ă€ndringar i GTK.
Huvudsakliga förÀndringar i libadwaita jÀmfört med libhandy:
- Helt omarbetad stiluppsÀttning. Det tema som anvÀnds i GNOME, Adwaita, har tagits bort frÄn GTK och moderniserats, medan det gamla temat har faststÀllts inom GTK under namnet "Default". Bland de mest mÀrkbara skillnaderna mellan libadwaita och temat "Default" Àr Àndringen av fönsterhuvudens utseende.

- FÀrgbindnings- och fÀrgbytesteknikerna under applikationens drift har Àndrats (problem uppstod eftersom libadwaita övergick till SCSS, vilket krÀver en ombyggnad för att Àndra fÀrger). För att Àndra fÀrger pÄ element, vilket till exempel Àr nödvÀndigt i GNOME Web för att markera övergÄngen till inkognitolÀge, har en metod anvÀnts som föreslagits i elementary OS och baseras pÄ att ange en fast lista med namngivna fÀrger genom "@define-color". DÀrmed berÀknas fÀrgerna för mÄnga grÀnssnitts-element nu i förhÄllande till bastextfÀrgen och Àndras automatiskt, vilket hindrar applikationer frÄn att helt kontrollera fÀrgschemat (utvecklarna arbetar pÄ att ÄtgÀrda denna begrÀnsning).


- Kvaliteten pÄ visningen har förbÀttrats vid anvÀndning av mörka teman genom att elementens kontrastmarkeringar har förstÀrkts. AccentfÀrgen har gjorts ljusare, och ytterligare en fÀrg för markering har lagts till, som kan förÀndras för mörka och ljusa teman.


- En stor mÀngd nya stilklasser har lagts till för anvÀndning i applikationer. Till exempel, ".pill" för stora rundade knappar, möjligheten att anvÀnda ".flat" i GtkHeaderBar, ".accent" för att stÀlla in accentfÀrgen i etiketter, ".numeric" för tabelltypografi och ".card" för att anvÀnda bakgrund och skugga som i listor.

- Stora monolitiska SCSS-filer har delats upp i en samling smÄ stilfiler.
- Ett API för att anpassa mörkt tema och hög kontrasts lÀge har lagts till.

- Dokumentationen har omarbetats, och verktyget gi-docgen anvÀnds nu för att generera den.

- Ett API för animation har lagts till, som kan anvÀndas för att skapa övergÄngseffekter nÀr ett tillstÄnd byts mot ett annat, samt för att skapa fjÀdrande effekter (spring animation).

- För flikarna baserade pÄ AdwViewSwitcher har möjligheten att visa etiketter med antalet olÀsta aviseringar lagts till.

- Klassen AdwApplication (underklass av GtkApplication) har lagts till för automatisk initialisering av Libadwaita och laddning av stilar.
- En samling av widgetar har lagts till för att förenkla vanliga operationer: AdwWindowTitle för att stÀlla in fönstrets titel, AdwBin för att förenkla skapandet av underklasser, AdwSplitButton för kombinationsknappar, AdwButtonContent för knappar med ikon och etikett.
- API:t har stÀdats.
KĂ€lla: opennet.ru










