Budgie Desktop wechselt vom Enlightenment Project von GTK zu EFL-Bibliotheken

Die Entwickler der Budgie-Desktop-Umgebung beschlossen, von der Verwendung der GTK-Bibliothek abzuweichen und stattdessen die vom Enlightenment-Projekt entwickelten EFL-Bibliotheken (Enlightenment Foundation Library) zu verwenden. Die Ergebnisse der Migration werden in der Veröffentlichung von Budgie 11 präsentiert. Bemerkenswert ist, dass dies nicht der erste Versuch ist, von der Verwendung von GTK abzuweichen – 2017 entschied sich das Projekt bereits für die Umstellung auf Qt, überarbeitete jedoch später seine Pläne. in der Hoffnung, dass sich die Situation in GTK4 ändern würde.

Leider hat GTK4 die Erwartungen der Entwickler nicht erfüllt, da der Fokus weiterhin nur auf den Bedürfnissen des GNOME-Projekts liegt, dessen Entwickler nicht auf die Meinungen alternativer Projekte hören und nicht bereit sind, deren Bedürfnisse zu berücksichtigen. Der Hauptgrund für die Abkehr von GTK waren die Pläne von GNOME, den Umgang mit Skins zu ändern, was die Erstellung benutzerdefinierter Skins in Projekten von Drittanbietern erschwert. Insbesondere der Schnittstellenstil der Plattform wird von der libadwaita-Bibliothek bereitgestellt, die an das Adwaita-Designthema gebunden ist.

Ersteller von Umgebungen von Drittanbietern, die die GNOME-Schnittstelle nicht vollständig replizieren möchten, sollten ihre Bibliotheken auf den Umgang mit dem Stil vorbereiten. In diesem Fall besteht jedoch eine Diskrepanz im Design von Anwendungen, die die alternative Bibliothek und die Themenbibliothek der Plattform verwenden. Es gibt keine Standardtools zum Hinzufügen zusätzlicher Funktionen zu libadwaita, und Versuche, eine Recoloring-API hinzuzufügen, die es einfacher machen würde, Farben in Anwendungen zu ändern, konnten nicht vereinbart werden, da Bedenken bestehen, dass andere Themes als Adwaita die Qualität negativ beeinflussen könnten Anwendungen für GNOME und erschweren die Analyse von Problemen seitens der Benutzer. Daher fühlten sich Entwickler alternativer Desktops mit dem Adwaita-Thema verbunden.

Zu den Funktionen von GTK4, die bei Budgie-Entwicklern für Unzufriedenheit sorgen, gehören der Ausschluss der Möglichkeit, einige Widgets durch die Erstellung von Unterklassen zu ändern, und die Übertragung in die Kategorie veralteter X11-APIs, die nicht mit Wayland kompatibel sind (z. B. ruft Budgie GdkScreen auf). und GdkX11Screen wurden verwendet, um die Verbindung zu ermitteln und die Konfiguration von Monitoren zu ändern), Probleme beim Scrollen im GtkListView-Widget und der Verlust der Fähigkeit, Maus- und Tastaturereignisse in GtkPopovers zu verarbeiten, wenn das Fenster nicht im Fokus ist.

Nach Abwägung aller Vor- und Nachteile eines Wechsels zu alternativen Toolkits kamen die Entwickler zu dem Schluss, dass die beste Option darin besteht, das Projekt auf die Verwendung von EFL-Bibliotheken umzustellen. Der Übergang zu Qt wird als problematisch angesehen, da die Bibliothek auf C++ basiert und die zukünftige Lizenzpolitik ungewiss ist. Der Großteil des Budgie-Codes ist in Vala geschrieben, als Migrationsoptionen standen jedoch ein C- oder Rust-Toolkit zur Verfügung.

Was die Solus-Distribution betrifft, wird das Projekt weiterhin einen alternativen Build auf Basis von GNOME erstellen, dieser Build wird jedoch als nicht vom Projekt überwacht markiert und in einem separaten Abschnitt auf der Download-Seite hervorgehoben. Sobald Budgie 11 veröffentlicht wird, werden Entwickler seine Fähigkeiten im Vergleich zur GNOME-Shell bewerten und entscheiden, ob sie mit der Erstellung eines Builds mit GNOME fortfahren oder aufhören möchten, Tools für die Migration zu einem Build mit Budgie 11 bereitzustellen. Im Solus-Build mit dem Budgie 11-Desktop Es ist geplant, die Zusammensetzung der Anwendungen zu überarbeiten und GNOME-Anwendungen durch Analoga zu ersetzen, einschließlich der im Rahmen des Projekts entwickelten. Geplant ist beispielsweise der Aufbau eines eigenen Anwendungsinstallationszentrums.

Denken Sie daran, dass der Budgie-Desktop eine eigene Implementierung der GNOME-Shell, des Panels, der Applets und des Benachrichtigungssystems bietet. Zur Verwaltung von Fenstern wird der Fenstermanager Budgie Window Manager (BWM) verwendet, eine erweiterte Modifikation des grundlegenden Mutter-Plugins. Budgie basiert auf einem Panel, dessen Aufbau klassischen Desktop-Panels ähnelt. Alle Panel-Elemente sind Applets, die es Ihnen ermöglichen, die Zusammenstellung flexibel anzupassen, die Platzierung zu ändern und die Implementierungen der Haupt-Panel-Elemente nach Ihrem Geschmack auszutauschen. Zu den verfügbaren Applets gehören das klassische Anwendungsmenü, das System zum Wechseln von Aufgaben, der Listenbereich für geöffnete Fenster, der virtuelle Desktop-Viewer, die Energieverwaltungsanzeige, das Applet zur Lautstärkeregelung, die Systemstatusanzeige und die Uhr.

Budgie Desktop wechselt vom Enlightenment Project von GTK zu EFL-Bibliotheken


Source: opennet.ru

Kommentar hinzufügen