Veröffentlichung der Libadwaita 1.2-Bibliothek zur Erstellung von Schnittstellen im GNOME-Stil

Das GNOME-Projekt hat die Version von Libadwaita 1.2 veröffentlicht, die eine Reihe von Komponenten für die Gestaltung der Benutzeroberfläche enthält, die den GNOME HIG (Human Interface Guidelines) folgen. Die Bibliothek umfasst vorgefertigte Widgets und Objekte zum Erstellen von Anwendungen, die dem allgemeinen GNOME-Stil entsprechen und deren Oberfläche adaptiv an Bildschirme jeder Größe angepasst werden kann. Der Bibliothekscode ist in C geschrieben und wird unter der LGPL 2.1+-Lizenz vertrieben.

Veröffentlichung der Libadwaita 1.2-Bibliothek zur Erstellung von Schnittstellen im GNOME-Stil

Die libadwaita-Bibliothek wird in Verbindung mit GTK4 verwendet und enthält Komponenten des in GNOME verwendeten Adwaita-Themas, die aus GTK in eine separate Bibliothek verschoben wurden. Durch das Verschieben von GNOME-Stilelementen in eine separate Bibliothek können GNOME-spezifische Änderungen getrennt von GTK entwickelt werden. Dadurch können sich GTK-Entwickler auf die Kernthemen konzentrieren und GNOME-Entwickler können gewünschte Stiländerungen schneller und flexibler vorantreiben, ohne GTK selbst zu beeinträchtigen.

Die Bibliothek umfasst Standard-Widgets, die verschiedene Elemente der Benutzeroberfläche abdecken, wie z. B. Listen, Bedienfelder, Bearbeitungsblöcke, Schaltflächen, Registerkarten, Suchformulare, Dialogfelder usw. Mit den vorgeschlagenen Widgets können Sie universelle Schnittstellen erstellen, die sowohl auf großen PC- und Laptop-Bildschirmen als auch auf kleinen Touchscreens von Smartphones nahtlos funktionieren. Die Anwendungsoberfläche ändert sich dynamisch abhängig von der Bildschirmgröße und den verfügbaren Eingabegeräten. Die Bibliothek enthält außerdem eine Reihe von Adwaita-Stilen, die das Erscheinungsbild an die GNOME-Richtlinien anpassen, ohne dass eine manuelle Anpassung erforderlich ist.

Wesentliche Änderungen in Libadwaita 1.2:

  • Adw.EntryRow-Widget hinzugefügt, das als Listenelement verwendet werden soll. Das Widget bietet ein Eingabefeld und eine Kopfzeile mit der Möglichkeit, vor und nach dem Eingabefeld zusätzliche Widgets anzufügen (z. B. Schaltflächen zur Eingabebestätigung oder eine Anzeige, dass die Daten bearbeitet werden können). Darüber hinaus steht die Option Adw.PasswordEntryRow zur Eingabe von Passwörtern zur Verfügung.
    Veröffentlichung der Libadwaita 1.2-Bibliothek zur Erstellung von Schnittstellen im GNOME-Stil
  • Das Adw.MessageDialog-Widget wurde hinzugefügt, um einen Dialog mit einer Nachricht oder Frage anzuzeigen. Ein Widget ist ein erweiterter Ersatz für Gtk.MessageDialog, der das Layout von Elementen an die Größe des Fensters anpassen kann. Beispielsweise können Schaltflächen in breiten Fenstern in einer Zeile angezeigt werden, während sie in schmalen Fenstern in mehrere Spalten unterteilt werden können. Ein weiterer Unterschied besteht darin, dass das Widget kein untergeordnetes Element der GtkDialog-Klasse ist und eine völlig neue API bereitstellt, die nicht an die vordefinierten GtkResponseType-Schaltflächentypen gebunden ist (in Adw.MessageDialog werden alle Aktionen von der Anwendung verarbeitet), was die Einbettung anderer erleichtert Widgets mithilfe der Extra-Child-Eigenschaft und bietet separate Stile für Titel und Textkörper.
    Veröffentlichung der Libadwaita 1.2-Bibliothek zur Erstellung von Schnittstellen im GNOME-Stil
  • Das Adw.AboutWindow-Widget wurde hinzugefügt, um ein Fenster mit Informationen zum Programm anzuzeigen. Das Widget ersetzt Gtk.AboutDialog und verfügt über ein adaptives Layout von Elementen und erweiterte Supportabschnitte, wie z. B. eine Liste der Änderungen, ein Dankesfenster, Informationen zu Lizenzen von Komponenten von Drittanbietern, Links zu Informationsressourcen und Daten, um das Debuggen zu vereinfachen.
    Veröffentlichung der Libadwaita 1.2-Bibliothek zur Erstellung von Schnittstellen im GNOME-StilVeröffentlichung der Libadwaita 1.2-Bibliothek zur Erstellung von Schnittstellen im GNOME-Stil
  • Die Fähigkeiten der Widgets Adw.TabView und Adw.TabBar wurden erweitert, wobei der Mechanismus zur Verarbeitung von Hotkeys neu gestaltet wurde, um das Problem bei der Bedienung von Kombinationen zu lösen, die sich mit GTK4-Handlern überschneiden (z. B. Strg+Tab). Die neue Version bietet außerdem eine Eigenschaft zum Setzen von Tooltips für Indikatoren und Tab-Buttons.
  • Die Adw.PropertyAnimationTarget-Klasse wurde hinzugefügt, um das Animieren von Objekteigenschaften zu erleichtern.
  • Der Stil der Tab-Leiste (Adw.TabBar) wurde deutlich geändert – der aktive Tab wird deutlicher hervorgehoben und der Kontrast von Elementen in der dunklen Version wurde erhöht.
    Veröffentlichung der Libadwaita 1.2-Bibliothek zur Erstellung von Schnittstellen im GNOME-Stil
    Veröffentlichung der Libadwaita 1.2-Bibliothek zur Erstellung von Schnittstellen im GNOME-Stil
  • Die Höhe der vertikalen Trennlinien wurde reduziert, wodurch in der Kopfzeile und in der Suchleiste störende helle Ränder zugunsten dunkler Ränder entfernt werden konnten, die mit @headerbar_shade_color festgelegt wurden. Außerdem wurde ein Hintergrundstil hinzugefügt, der den Feldern in der Kopfzeile entspricht.
  • Die Stilklasse „.large-title“ ist veraltet und stattdessen sollte „.title-1“ verwendet werden.
  • Der Abstand im Adw.ActionRow-Widget wurde reduziert, um sein Erscheinungsbild näher an die Panels und das Adw.EntryRow-Widget anzupassen.
  • Die Widgets „Gtk.Actionbar“ und „Adw.ViewSwitcherBar“ verwenden dieselben Stile wie die Kopfzeilen-, Such- und Registerkartenleisten.
    Veröffentlichung der Libadwaita 1.2-Bibliothek zur Erstellung von Schnittstellen im GNOME-Stil

Source: opennet.ru

Kommentar hinzufügen