GNOME-projektet har publicerat version 1.8 av biblioteket Libadwaita, som innehÄller en uppsÀttning komponenter för stilisering av anvÀndargrÀnssnittet, i enlighet med GNOME HIG (Human Interface Guidelines). Biblioteket inkluderar fÀrdiga widgets och objekt för att bygga applikationer som följer GNOMEs övergripande stil, vars grÀnssnitt kan anpassas till skÀrmar av alla storlekar. Bibliotekets kod Àr skriven i C och distribueras under licensen LGPL 2.1+.
Biblioteket libadwaita anvÀnds tillsammans med GTK4 och inkluderar komponenter frÄn GNOME:s teman Adwaita, som har separerats frÄn GTK till ett eget bibliotek. Att separera GNOME:s visuella element i ett eget bibliotek gör det möjligt att utveckla nödvÀndiga förÀndringar uteslutande för GNOME, vilket ger GTK-utvecklare möjlighet att fokusera pÄ det grundlÀggande, medan GNOME-utvecklare mer snabbt och flexibelt kan driva de stilförÀndringar de behöver, utan att pÄverka GTK.
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.

I den nya versionen:
- Den nya klassen AdwShortcutsDialog har implementerats i Libadwaita som eftertrÀdare till klassen GtkShortcutsWindow, som avregistrerades som förÄldrad i GTK 4.18, och erbjuder en dialog för navigering genom tillgÀngliga tangentbordsgenvÀgar. Den nya implementationen har genomgÄtt en total omarbetning och förenkling av logiken för uppdelning i sektioner och grupper. Utvecklaren ges en minimal API och UI-filer anvÀnds för att definiera dialogens struktur och innehÄll.
IstÀllet för GtkShortcutLabel har en ny klass, AwsShortcutLabel, föreslagits för att representera element, vilket inte stöder angivande av information om skÀrmgester och integration av ikoner, eftersom deras anvÀndning ledde till förvirring och tillÀmpningen var begrÀnsad (till exempel anvÀndes ikoner endast i applikationen gnome-games för att indikera knappar pÄ handkontroller).

- Möjligheten att anvÀnda CSS-mediafrÄgor har lagts till för att definiera stilar för mörkt och ljust tema samt för vanlig och kontrasterande visning av samma element. Teckenstorlekar för innehÄll (Adwaita Sans 12pt) och grÀnssnitt (Adwaita Sans 11pt) har separerats. En stilklass '.document' har lagts till dÀr för bÀttre lÀsbarhet anvÀnds teckensnittet Adwaita Sans 12pt och ökat radavstÄnd. RadavstÄndet har ökats i stilklassen '.body', som nu tillÀmpas som standard i vissa standardwidgetar.

- Klassen AdwPreferencesGroup fÄr anvÀndas med listmodeller via metoden adw_preferences_group_bind_model(). Möjligheten att lÀgga till strÀngar i den interna listan, som inte Àr klassen AdwPreferencesRow, har ocksÄ lagts till.
- I klassen AdwPreferencesPage Àr det nu tillÄtet att infoga grupper var som helst, inte bara i slutet av sidan.
- Metoderna adw_preferences_page_get_group() och adw_preferences_group_get_row() har lagts till i klasserna AdwPreferencesGroup och AdwPreferencesPage för inspektion av grupper och rader.
- Metoden adw_wrap_box_remove_all() har lagts till i klassen AdwWrapBox för att ta bort alla barnkomponenter.
- Standardskikt har tillhandahÄllits för barnkomponenterna i klassen GtkFlowBox för att markera musövergÄngar pÄ element och aktivering av element.
- I klassen AdwHeaderBar implementerades stöd för inbyggda fönsterkontroller för macOS.
- För att öka prestandan har anvÀndningen av skuggor för fönster, dialoger och popup-fönster minskats.
KĂ€lla: opennet.ru


