Veröffentlichung der Bibliothek Libadwaita 1.8 zur Erstellung von GNOME-stilisierten BenutzeroberflÀchen

Das GNOME-Projekt hat die Version 1.8 der Bibliothek Libadwaita veröffentlicht, die eine Reihe von Komponenten fĂŒr die stilistische Gestaltung von BenutzeroberflĂ€chen gemĂ€ĂŸ den GNOME HIG (Human Interface Guidelines) umfasst. Die Bibliothek enthĂ€lt fertige Widgets und Objekte zum Erstellen von Anwendungen, die dem allgemeinen GNOME-Stil entsprechen und dessen BenutzeroberflĂ€che sich adaptiv an Bildschirme jeder GrĂ¶ĂŸe anpassen kann. Der Code der Bibliothek ist in C geschrieben und steht unter der Lizenz LGPL 2.1+.

Die Bibliothek libadwaita wird zusammen mit GTK4 verwendet und umfasst Komponenten des in GNOME genutzten Adwaita-Thema, die aus GTK in eine separate Bibliothek ausgelagert wurden. Die Auslagerung der visuellen Elemente von GNOME in eine separate Bibliothek ermöglicht es, notwendige Änderungen fĂŒr GNOME unabhĂ€ngig von GTK zu entwickeln, was den GTK-Entwicklern die Konzentration auf grundlegende Aspekte ermöglicht, wĂ€hrend den GNOME-Entwicklern ein schnellerer und flexiblerer Fortschritt bei den benötigten Änderungen der stilistischen Gestaltung ermöglicht wird, ohne GTK selbst zu beeintrĂ€chtigen.

Die Bibliothek umfasst Standard-Widgets, die verschiedene Interface-Elemente abdecken, wie Listen, Panels, Bearbeitungsfelder, SchaltflĂ€chen, Tabs, Suchformulare, Dialogfenster usw. Die angebotenen Widgets ermöglichen die Erstellung vielseitiger OberflĂ€chen, die sowohl auf großen Bildschirmen von PCs und Laptops als auch auf kleinen Touchscreens von Smartphones harmonisch funktionieren. Die BenutzeroberflĂ€che von Anwendungen Ă€ndert sich dynamisch in AbhĂ€ngigkeit von der BildschirmgrĂ¶ĂŸe und den verfĂŒgbaren EingabegerĂ€ten. Die Bibliothek umfasst auch einen Satz von Adwaita-Stilen, die das Erscheinungsbild gemĂ€ĂŸ den Empfehlungen von GNOME anpassen, ohne manuelle Anpassungen vornehmen zu mĂŒssen.

Veröffentlichung der Bibliothek Libadwaita 1.8 zur Erstellung von GNOME-stilisierten BenutzeroberflÀchen

In der neuen Version:

  • An die in GTK 4.18 als veraltet erklĂ€rte Klasse GtkShortcutsWindow wurde in Libadwaita die neue Klasse AdwShortcutsDialog eingefĂŒhrt, die einen Dialog zur Navigation durch verfĂŒgbare Tastenkombinationen implementiert. Die neue Implementierung zeichnet sich durch eine vollstĂ€ndige Überarbeitung und Vereinfachung der Logik zur Aufteilung in Abschnitte und Gruppen aus. Entwicklern wird eine minimale API zur VerfĂŒgung gestellt, und die Struktur sowie der Inhalt des Dialogs basieren auf UI-Dateien.

    Anstelle von GtkShortcutLabel wurde eine neue Klasse AwsShortcutLabel zur Darstellung von Elementen vorgeschlagen, die keine Informationen zu Bildschirmgesten unterstĂŒtzt und keine Ikons integriert, da deren Verwendung zu Verwirrung fĂŒhrte und eingeschrĂ€nkt war (zum Beispiel wurden Ikons nur in der Anwendung gnome-games zur Kennzeichnung von Gamepad-Tasten verwendet).

    Veröffentlichung der Bibliothek Libadwaita 1.8 zur Erstellung von GNOME-stilisierten BenutzeroberflÀchen
  • Es wurde die Möglichkeit hinzugefĂŒgt, CSS-Medienabfragen zu verwenden, um Stile fĂŒr dunkle und helle Gestaltung sowie einfache und kontrastreiche Darstellungen desselben Elements zu definieren. Die SchriftgrĂ¶ĂŸen fĂŒr Inhalte (Adwaita Sans 12pt) und die BenutzeroberflĂ€che (Adwaita Sans 11pt) wurden getrennt. Eine Stilklasse „.document“ wurde hinzugefĂŒgt, in der zur besseren Lesbarkeit die Schriftart Adwaita Sans 12pt und ein grĂ¶ĂŸerer Zeilenabstand verwendet werden. Der Zeilenabstand in der Stilklasse „.body“ wurde erhöht, die nun standardmĂ€ĂŸig in einigen integrierten Widgets angewendet wird.
    Veröffentlichung der Bibliothek Libadwaita 1.8 zur Erstellung von GNOME-stilisierten BenutzeroberflÀchen
  • Die Klasse AdwPreferencesGroup darf mit Listenmodellen ĂŒber die Methode adw_preferences_group_bind_model() verwendet werden. Außerdem wurde die Möglichkeit hinzugefĂŒgt, Zeichenfolgen in die interne Liste einzufĂŒgen, die keine Klasse von AdwPreferencesRow sind.
  • In der Klasse AdwPreferencesPage ist es erlaubt, Gruppen an beliebiger Stelle einzufĂŒgen und nicht nur am Ende der Seite.
  • In die Klassen AdwPreferencesGroup und AdwPreferencesPage wurden die Methoden adw_preferences_page_get_group() und adw_preferences_group_get_row() eingefĂŒgt, um Gruppen und Zeilen zu inspizieren.
  • Die Klasse AdwWrapBox hat die Methode adw_wrap_box_remove_all() zur Entfernung aller untergeordneten Elemente erhalten.
  • FĂŒr die untergeordneten Elemente der Klasse GtkFlowBox sind standardmĂ€ĂŸig Stile vorhanden, um Hover-Effekte und die Aktivierung von Elementen zu ermöglichen.
  • In der Klasse AdwHeaderBar wird die UnterstĂŒtzung fĂŒr native Fenstersteuerelemente in macOS realisiert.
  • Zur Steigerung der Leistung wurde die Verwendung von Schatten fĂŒr Fenster, Dialoge und Popup-Fenster reduziert.

Quelle: opennet.ru

60GB SSD 8Gb DDR4