Il progetto GNOME ha pubblicato il rilascio della libreria Libadwaita 1.3, che include un insieme di componenti per la personalizzazione dell'interfaccia utente in conformità con le linee guida GNOME HIG (Human Interface Guidelines). La libreria comprende widget e oggetti pronti per la costruzione di applicazioni che seguono lo stile generale di GNOME, le cui interfacce possono adattarsi agli schermi di qualsiasi dimensione. Il codice della libreria è scritto in linguaggio C e viene distribuito con licenza LGPL 2.1+.
La libreria libadwaita è utilizzata insieme a GTK4 e include i componenti del tema Adwaita utilizzato in GNOME, che sono stati estratti da GTK in una libreria separata. L'estrazione degli elementi visivi di GNOME in una libreria separata consente di sviluppare le modifiche necessarie per GNOME separatamente da GTK, dando ai sviluppatori di GTK la possibilità di concentrarsi su questioni di base e ai sviluppatori di GNOME di promuovere più rapidamente e agilmente le modifiche stilistiche necessarie, senza influenzare GTK stesso.
La libreria include widget standard che coprono vari elementi dell'interfaccia, come elenchi, pannelli, blocchi di editing, pulsanti, schede, moduli di ricerca, finestre di dialogo e altro. I widget proposti consentono di creare interfacce universali, che funzionano bene sia su grandi schermi di PC e laptop, sia su piccoli schermi touch di smartphone. L'interfaccia delle applicazioni cambia dinamicamente a seconda delle dimensioni dello schermo e dei dispositivi di input disponibili. La libreria include anche un insieme di stili Adwaita, che allineano l'aspetto alle raccomandazioni di GNOME, senza necessità di eseguire adattamenti manuali.
Principali cambiamenti in libadwaita 1.3:
- Implementato il widget AdwBanner, che può essere utilizzato al posto del widget GTK GtkInfoBar per visualizzare banner contenenti un titolo e un pulsante facoltativo. Il contenuto del widget viene trasformato in base alle dimensioni, e possono essere applicate animazioni durante la visualizzazione e la chiusura.

- Aggiunto il widget AdwTabOverview, progettato per una panoramica chiara delle schede o delle pagine mostrate tramite la classe AdwTabView. Il nuovo widget può essere utilizzato per gestire le schede sui dispositivi mobili senza creare una propria implementazione del selettore.


- Aggiunto il widget AdwTabButton per visualizzare pulsanti con informazioni sul numero di schede aperte in AdwTabView, che possono essere utilizzati su dispositivi mobili per aprire la modalità panoramica delle schede.

- Per i widget AdwViewStack, AdwTabView e AdwEntryRow è stata implementata la supporto per strumenti per persone con disabilità.
- Nella classe AdwAnimation è stata aggiunta una proprietà per ignorare la disattivazione delle animazioni nelle impostazioni di sistema.
- Nella classe AdwActionRow è stata aggiunta la possibilità di evidenziare i sottotitoli.
- Nella classe AdwExpanderRow sono state aggiunte le proprietà title-lines e subtitle-lines.
- Nella classe AdwEntryRow, analogamente a GtkEntry, è stato aggiunto il metodo grab_focus_without_selecting().
- Nella classe AdwMessageDialog, analogamente a GtkAlertDialog, è stato aggiunto il metodo async choose().
- Nella classe AdwTabBar sono state aggiunte chiamate API relative all'interfaccia drag-n-drop.
- Nella classe AdwAvatar è stato garantito un corretto ridimensionamento delle immagini.
- È stata aggiunta la possibilità di utilizzare uno stile scuro e una modalità ad alto contrasto durante l'uso su piattaforma Windows.
- Gli elementi selezionati in elenchi e griglie ora vengono evidenziati con il colore utilizzato per l'evidenziazione degli elementi attivi (accent).
Fonte: opennet.ru



