A GNOME projekt közzétette a Libadwaita 1.2 könyvtár kiadását, amely felhasználói felület stílusának formázásához készült összetevők készletét tartalmazza, megfelelve a GNOME HIG (Human Interface Guidelines) ajánlásainak. A könyvtár kész widgeteket és objekteket tartalmaz alkalmazások megalkotásához, amelyek a GNOME általános stílusának felelnek meg, és az interfészük alkalmazkodni tud bármilyen méretű képernyőhöz. A könyvtár kódja C nyelven íródott, és LGPL 2.1+ licenc alatt terjesztik.

A libadwaita könyvtár a GTK4-el együtt használatos, és tartalmazza a GNOME által használt Adwaita téma komponenseit, amelyeket a GTK-ból egy külön könyvtárba helyeztek át. A GNOME vizuális elemeinek külön könyvtárba való áthelyezése lehetővé teszi, hogy a GNOME-hoz szükséges változtatásokat függetlenül fejleszthessék a GTK-tól, ami lehetőséget ad a GTK fejlesztőinek, hogy a alapvető dolgokra összpontosítsanak, míg a GNOME fejlesztői gyorsabban és rugalmasabban előmozdíthassák a szükséges stílusváltoztatásokat anélkül, hogy magát a GTK-t érintenék.
A könyvtár tartalmaz tipikus widgeteket, amelyek különféle felületi elemeket ölelnek fel, például listákat, paneleket, szerkesztő blokkokat, gombokat, lapokat, kereső űrlapokat, párbeszédpanelek stb. A javasolt widgetek lehetővé teszik univerzális felületek létrehozását, amelyek zökkenőmentesen működnek nagy képernyős PC-ken és laptopokon, valamint kisméretű érintőképernyős okostelefonokon. Az alkalmazások felülete dinamikusan változik a képernyő mérete és az elérhető bemeneti eszközök szerint. A könyvtár emellett tartalmazza az Adwaita stílusok halmazát is, amelyek megjelenését a GNOME irányelveivel összhangba hozzák, kézi alkalmazkodás nélkül.
A libadwaita 1.2 főbb változásai:
- Új Adw.EntryRow widget került hozzáadásra, amely listák elemeként való használatra készült. A widget bevitelmezőt kínál, és egy címet, amely lehetőséget ad arra, hogy további widgetek csatlakoztathassanak a bevitelmező elé és mögé (például a bevitel megerősítésére szolgáló gombokat vagy egy jelzőt, ami azt mutatja, hogy az adatok szerkeszthetők). Ezen kívül elérhető az Adw.PasswordEntryRow változat is, amely jelszavak bevitelére lett tervezve.

- Új Adw.MessageDialog widget került hozzáadásra, amely üzenet vagy kérdés megjelenítésére szolgál. Ez a widget a Gtk.MessageDialog kiterjesztett helyettesítője, amely alkalmazza az elemek elrendezésének méretéhez igazítását az ablak méretének megfelelően. Például széles ablakok esetén a gombok egy sorban jelenhetnek meg, míg keskeny ablakokban több oszlopra oszlanak. Egy másik különbség az, hogy a widget nem a GtkDialog gyermekosztálya, és teljesen új API-t biztosít, amely nincs egy előre meghatározott GtkResponseType gombtípushoz kötve (az Adw.MessageDialog esetében minden akciót az alkalmazás kezel), egyszerűsítve más widgetek beágyazását az extra-child tulajdonsággal, és külön stílusokat biztosítva a címhez és a fő szöveghez.

- Új Adw.AboutWindow widget került hozzáadásra a programinformációk megjelenítésére szolgáló ablakhoz. Ez a widget a Gtk.AboutDialog helyettesítője, amely az elemek alkalmazkodó elrendezését és kiterjesztett segédrészleteket, például a változások listáját, a köszönetnyilvánítások ablakát, harmadik féltől származó összetevők licencinformációit, információs forrásokra mutató linkeket és az egyszerűsített hibakereséshez szükséges adatokat tartalmaz.


- Bővítették az Adw.TabView és Adw.TabBar widgetek lehetőségeit, ahol átírták a gyorsbillentyűk kezelésének mechanizmusát a GTK4 kezelőkkel való ütközések problémáinak megoldása érdekében (például Ctrl+Tab). Az új verzióban emellett új tulajdonságot is javasoltak a tooltipok beállítására a mutatók és a fülgombok számára.
- Hozzáadták az Adw.PropertyAnimationTarget osztályt az objektumok tulajdonságainak animálásának egyszerűsítésére.
- Jelentősen megváltozott a fülpanel (Adw.TabBar) stílusa – az aktív fül egyértelműen kiemelkedik és a sötét téma esetén a elemek kontrasztja is megnövekedett.


- Csökkentették a függőleges elválasztók magasságát, ami lehetővé tette, hogy a fejlécet és a keresősávot tartalmazó panelen megszűnjenek a zavaró világos határok, helyettük a @headerbar_shade_color által definiált sötét kereteket alkalmaztak, és hozzáadtak egy háttérstílust, amely összhangban áll a fejléc panelekével.
- A «.large-title» stílusosztály elavultnak nyilvánításra került, helyette a «.title-1» használatát javasolják.
- Csökkentették a margókat az Adw.ActionRow widgetben, hogy megjelenése közelebb kerüljön a panelekhez és az Adw.EntryRow widgethez.
- A Gtk.Actionbar és Adw.ViewSwitcherBar widgetekben alkalmazott stílusok megegyeznek a fejléc, keresés és fülpanelek stílusaival.

Forrás: opennet.ru







