Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil

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

Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil

Die libadwaita-Bibliothek wird in Kombination mit GTK4 verwendet und umfasst die in GNOME verwendeten Adwaita-Designkomponenten, die aus GTK in eine separate Bibliothek ausgelagert wurden. Der Code von libadwaita basiert auf der libhandy-Bibliothek und ist als Nachfolger dieser Bibliothek positioniert, die ursprĂŒnglich zur Erstellung von responsiven Schnittstellen auf mobilen Plattformen mit GNOME-Technologien entwickelt wurde und in der GNOME-Umgebung Phosh fĂŒr das Smartphone Librem 5 verfeinert wurde.

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.

Die Auslagerung von GNOME-Gestaltungselementen in eine separate Bibliothek ermöglicht es, notwendige Änderungen fĂŒr GNOME unabhĂ€ngig von GTK zu entwickeln, was den GTK-Entwicklern erlaubt, sich auf die grundlegenden Dinge zu konzentrieren, wĂ€hrend die GNOME-Entwickler die notwendigen Anpassungen des Designs schneller und flexibler vorantreiben können, ohne das GTK selbst zu beeintrĂ€chtigen. Dennoch bringt dieser Ansatz Schwierigkeiten fĂŒr Entwickler von Drittanbieter-BenutzeroberflĂ€chen auf Basis von GTK mit sich, die entweder libadwaita verwenden und sich an die GNOME-spezifischen Merkmale anpassen oder eine eigene Style-Bibliothek fĂŒr GTK entwickeln mĂŒssen, im Bewusstsein, dass GNOME-Anwendungen in Umgebungen auf Basis von Drittanbieter-Style-Bibliotheken inkonsistent aussehen.

Hauptbeschwerden der Entwickler von Drittanbietersoftware beziehen sich auf Probleme bei der Übersteuerung von Farben von BenutzeroberflĂ€chenelementen, aber die Entwickler von libadwaita arbeiten an der Bereitstellung einer API fĂŒr die flexible Steuerung von Farben, die in eine der nĂ€chsten Versionen aufgenommen wird. Unter den ungelösten Problemen wird auch die korrekte Funktion von Gestensteuerungs-Widgets nur auf Touchscreen-GerĂ€ten genannt — fĂŒr Touchpads wird die korrekte Funktion solcher Widgets spĂ€ter sichergestellt, da dies Änderungen in GTK erfordert.

Die wichtigsten Änderungen in libadwaita im Vergleich zu libhandy:

  • VollstĂ€ndig ĂŒberarbeitetes Styleset. Das in GNOME verwendete Adwaita-Design wurde aus GTK herausgelöst und modernisiert, wĂ€hrend das alte Design unter dem Namen „Default“ in GTK beibehalten wurde. Zu den auffĂ€lligsten Unterschieden zwischen libadwaita und dem „Default“-Design gehört die Änderung des Erscheinungsbildes von FensterĂŒberschriften.
    Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil
  • Die Mechanismen zur Farbbindung an Elemente und zum Farbwechsel wĂ€hrend des Betriebs der Anwendung wurden geĂ€ndert (Probleme ergeben sich daraus, dass libadwaita auf SCSS umgestiegen ist, das eine Neubearbeitung zur FarbĂ€nderung erfordert). Um die Farben der Elemente zu Ă€ndern, was beispielsweise in GNOME Web zur Kennzeichnung des Inkognito-Modus erforderlich ist, wurde eine Methode verwendet, die in elementary OS vorgeschlagen wurde und auf der Festlegung einer festen Liste von benannten Farben durch „@define-color“ basiert. Dabei werden die Farben vieler Interface-Elemente jetzt relativ zur Grundfarbe des Textes berechnet und Ă€ndern sich automatisch, was es den Anwendungen nicht ermöglicht, das Farbschema vollstĂ€ndig zu kontrollieren (die Entwickler arbeiten daran, diese EinschrĂ€nkung zu beseitigen).
    Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-StilVeröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil
  • Die AnzeigequalitĂ€t wurde durch die Verwendung dunkler Designs durch eine kontrastreichere Hervorhebung von Elementen erhöht. Die Akzentfarbe (accent) wurde heller gestaltet, zudem wurde eine weitere Farbe zur Hervorhebung hinzugefĂŒgt, die je nach dunklem oder hellem Design variieren kann.
    Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-StilVeröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil
  • Eine große Anzahl neuer Style-Klassen fĂŒr die Verwendung in Anwendungen wurde hinzugefĂŒgt. Zum Beispiel „.pill“ fĂŒr große, abgerundete Tasten, die Möglichkeit, „.flat“ in GtkHeaderBar zu verwenden, „.accent“ zum Festlegen der Akzentfarbe in Labels, „.numeric“ fĂŒr tabellarische Typografie, sowie „.card“ zur Verwendung von Hintergrund und Schatten wie in Listen.
    Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil
  • Große monolithische SCSS-Dateien wurden in eine Sammlung kleiner Stil-Dateien aufgeteilt.
  • Eine API zur Anpassung des dunklen Designs und des Hochkontrastmodus wurde hinzugefĂŒgt.
    Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil
  • Die Dokumentation wurde ĂŒberarbeitet, und es wird nun das Werkzeug gi-docgen zur Generierung verwendet.
    Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil
  • Eine API fĂŒr Animationen wurde hinzugefĂŒgt, die zur Erstellung von Übergangseffekten beim Wechsel von einem Zustand zu einem anderen sowie zur Erstellung von Federanimationen (spring animation) verwendet werden kann.
    Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil
  • FĂŒr Tabs basierend auf AdwViewSwitcher wurde die Möglichkeit hinzugefĂŒgt, Labels mit der Anzahl ungelesener Benachrichtigungen anzuzeigen.
    Veröffentlichung der Bibliothek Libadwaita 1.0 zur Erstellung von BenutzeroberflÀchen im GNOME-Stil
  • Eine Klasse AdwApplication (Unterklasse von GtkApplication) wurde hinzugefĂŒgt, um die automatische Initialisierung von Libadwaita und das Laden von Stilen zu ermöglichen.
  • Eine Auswahl von Widgets wurde hinzugefĂŒgt, um gĂ€ngige Operationen zu erleichtern: AdwWindowTitle zur Festlegung des Fenstertitels, AdwBin zur einfacheren Erstellung von Unterklassen, AdwSplitButton fĂŒr kombinierte SchaltflĂ€chen, AdwButtonContent fĂŒr SchaltflĂ€chen mit Symbol und Beschriftung.
  • Die API wurde bereinigt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4