Die Entwickler der Distribution Linux Mint haben die erste Version der Bibliothek libAdapta veröffentlicht, die als Fork von libAdwaita entstanden ist. Die erste Version von libAdapta 1.5 basiert auf libAdwaita 1.5 und bietet Unterstützung für verschiedene Designs sowie einige zusätzliche Funktionen. Ansonsten unterstützt libAdapta die gesamte Funktionalität von libAdwaita und bietet standardmäßig ein identisches Aussehen der Anwendungen.
Die Erstellung eines eigenen Forks erklärt sich durch Schwierigkeiten bei der Übertragung der vom Projekt entwickelten erweiterten Funktionen in die Hauptversion von libAdwaita. Ein weicher Fork, dessen Codebasis regelmäßig auf neue Versionen von libAdwaita aktualisiert wird, um die Kompatibilität aufrechtzuerhalten, wird als optimale Lösung für Linux Mint angesehen. Indem sie einen eigenen Branch unterstützen, sind die Entwickler von Linux Mint nicht in der Umsetzung ihrer Ideen eingeschränkt und können Änderungen unabhängig von der Genehmigung durch die Entwickler von libAdwaita schnell hinzufügen.
Das Projekt LibAdwaita wird als ausschließlich für die GNOME-Plattform unterstützend dargestellt. Daher lehnen die Entwickler dieser Bibliothek Änderungsanfragen ab, die mit der Integration von Designs und der Unterstützung von Funktionen zu tun haben, die in GNOME fehlen. Die Entwickler von libAdwaita haben auch die Idee abgelehnt, eine Erweiterung ähnlich wie libGranite hinzuzufügen.
Das Problem ist, dass die Entwickler von libAdwaita grundsätzlich ablehnen, Unterstützung für Designs zu integrieren, und nur ein grundlegendes GNOME-Styling anbieten. Aufgrund fehlender Unterstützung für Designs sehen Anwendungen, die auf libAdwaita basieren, immer wie GNOME-Anwendungen aus und nicht wie GTK-Anwendungen, was zu einer schlechten Kompatibilität mit Designs anderer Desktop-Umgebungen führt.
Anwendungen, die mit libAdapta erstellt wurden, übernehmen beim Start in Desktop-Umgebungen, die die Auswahl von Designs unterstützen, die Einstellungen der Designs und verwenden die entsprechenden UI-Elemente. Die Bibliothek libAdapta überprüft das Verzeichnis des aktuellen GTK-Themen und verwendet für das Vorhandensein des Unterverzeichnisses libadapta-* einen anderen Satz von Stildateien. Wenn das Unterverzeichnis fehlt, wird auf den Satz von Stilen von libAdwaita zurückgegriffen. Für die Kompatibilität mit libAdwaita gibt es eine separate Header-Datei, die ein einfaches Umschalten zwischen libAdwaita und libAdapta ohne Änderungen im Code ermöglicht.
Wir erinnern daran, dass libAdwaita eine Sammlung von Komponenten für die stilistische Gestaltung von Benutzeroberflächen bietet, die den Empfehlungen des GNOME HIG (Human Interface Guidelines) entsprechen. Die Bibliothek umfasst fertige Widgets (Listen, Panels, Bearbeitungsblöcke, Schaltflächen, Tabs, Suchformulare, Dialogfenster usw.), die dem allgemeinen Stil von GNOME entsprechen. Die Bibliothek wird in Kombination mit GTK4 verwendet und umfasst die in GNOME verwendeten Komponenten des Adwaita-Themes, die aus GTK ausgegliedert wurden, wodurch sich die GTK-Entwickler auf die grundlegenden Dinge konzentrieren und die GNOME-Entwickler notwendige Änderungen in der stilistischen Gestaltung schneller vorantreiben konnten, ohne das eigentliche GTK zu berühren.
Quelle: opennet.ru
