Uscita della libreria Libadwaita 1.8 per la creazione di interfacce in stile GNOME

Il progetto GNOME ha pubblicato la versione 1.8 della libreria Libadwaita, che include un insieme di componenti per la progettazione dell'interfaccia utente, conforme alle linee guida GNOME HIG (Human Interface Guidelines). La libreria comprende widget e oggetti pronti per costruire applicazioni che seguono lo stile generale di GNOME, con interfacce che possono adattarsi a schermi di qualsiasi dimensione. Il codice della libreria è scritto in C ed è distribuito con licenza LGPL 2.1+.

La libreria libadwaita viene utilizzata in combinazione con GTK4 e comprende i componenti del tema Adwaita, utilizzato in GNOME, che sono stati estratti da GTK e resi disponibili in una libreria separata. Separare gli elementi di design di GNOME in una libreria dedicata consente di sviluppare le necessarie modifiche per GNOME in modo indipendente da GTK, permettendo così agli sviluppatori di GTK di concentrarsi sugli elementi fondamentali, mentre gli sviluppatori di GNOME possono promuovere più rapidamente e flessibilmente le modifiche di design necessarie senza influire su GTK.

La libreria include widget standard che coprono vari elementi dell'interfaccia, come elenchi, pannelli, blocchi di modifica, pulsanti, schede, moduli di ricerca, finestre di dialogo, ecc. I widget proposti consentono di creare interfacce versatili che funzionano in modo fluido sia su grandi schermi di PC e laptop che su piccoli schermi touch di smartphone. L'interfaccia delle applicazioni si adatta dinamicamente in base alle dimensioni dello schermo e ai dispositivi di input disponibili. La libreria include anche un set di stili Adwaita, che allineano l'aspetto alle linee guida GNOME, senza la necessità di adattamenti manuali.

Uscita della libreria Libadwaita 1.8 per la creazione di interfacce in stile GNOME

Nella nuova versione:

  • Il nuovo classe AdwShortcutsDialog è stato implementato in Libadwaita per sostituire la classe GtkShortcutsWindow, dichiarata obsoleta in GTK 4.18, fornendo un dialogo per navigare tra le combinazioni di tasti disponibili. La nuova implementazione presenta una revisione completa e semplificata della logica di separazione in sezioni e gruppi. Per gli sviluppatori è fornito un API minimale, e per definire la struttura e il contenuto del dialogo vengono utilizzati file UI.

    Invece di GtkShortcutLabel, è stato introdotto un nuovo classe AwsShortcutLabel per la rappresentazione degli elementi, che non supporta l'indicazione delle informazioni sui gesti dello schermo e l'integrazione delle icone, poiché il loro utilizzo portava a confusione e la loro applicazione era limitata (ad esempio, le icone venivano utilizzate solo nell'app gnome-games per indicare i pulsanti dei gamepad).

    Uscita della libreria Libadwaita 1.8 per la creazione di interfacce in stile GNOME
  • È stata aggiunta la possibilità di utilizzare le media query CSS per determinare gli stili dell'aspetto scuro e chiaro, oltre alla visualizzazione normale e contrastata dello stesso elemento. Le dimensioni dei font per il contenuto (Adwaita Sans 12pt) e l'interfaccia (Adwaita Sans 11pt) sono state separate. È stata aggiunta la classe di stile '.document', in cui per migliorare la leggibilità viene utilizzato il font Adwaita Sans 12pt e l'interlinea è stata aumentata. L'interlinea nel classe di stile '.body' è stata aumentata ed è ora applicata di default in alcuni widget standard.
    Uscita della libreria Libadwaita 1.8 per la creazione di interfacce in stile GNOME
  • La classe AdwPreferencesGroup può essere utilizzata con modelli di elenco tramite il metodo adw_preferences_group_bind_model(). È stata inoltre aggiunta la possibilità di aggiungere all'elenco interno stringhe che non sono una classe AdwPreferencesRow.
  • Nella classe AdwPreferencesPage è possibile inserire gruppi in qualsiasi punto, non solo alla fine della pagina.
  • Nelle classi AdwPreferencesGroup e AdwPreferencesPage sono stati aggiunti i metodi adw_preferences_page_get_group() e adw_preferences_group_get_row() per ispezionare gruppi e righe.
  • Nella classe AdwWrapBox è stato aggiunto il metodo adw_wrap_box_remove_all() per rimuovere tutti gli elementi figlio.
  • Per gli elementi figlio della classe GtkFlowBox sono forniti per impostazione predefinita stili per evidenziare il passaggio del mouse sull'elemento e attivare l'elemento.
  • Nella classe AdwHeaderBar è stato implementato il supporto per i controlli delle finestre nativi su macOS.
  • Per migliorare le prestazioni, è stata ridotta l'uso di ombre per finestre, dialoghi e finestre popup.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster