Budgie Desktop verhuist van GTK naar EFL-bibliotheken door Enlightenment Project

De ontwikkelaars van de Budgie-desktopomgeving besloten af ​​te stappen van het gebruik van de GTK-bibliotheek ten gunste van de EFL-bibliotheken (Enlightenment Foundation Library) die door het Enlightenment-project zijn ontwikkeld. De resultaten van de migratie zullen worden aangeboden in de release van Budgie 11. Het is opmerkelijk dat dit niet de eerste poging is om af te stappen van het gebruik van GTK - in 2017 besloot het project al over te schakelen naar Qt, maar herzag later zijn plannen, in de hoop dat de situatie in GTK4 zou veranderen.

Helaas voldeed GTK4 niet aan de verwachtingen van de ontwikkelaars vanwege de voortdurende focus alleen op de behoeften van het GNOME-project, waarvan de ontwikkelaars niet luisteren naar de meningen van alternatieve projecten en niet bereid zijn rekening te houden met hun behoeften. De belangrijkste drijfveer om af te stappen van GTK waren de plannen van GNOME om de manier te veranderen waarop het met skins omgaat, wat het moeilijk maakt om aangepaste skins te maken in projecten van derden. De interfacestijl van het platform wordt met name geleverd door de libadwaita-bibliotheek, die is gekoppeld aan het Adwaita-ontwerpthema.

Makers van omgevingen van derden die de GNOME-interface niet volledig willen repliceren, moeten hun bibliotheken voorbereiden op deze stijl, maar in dit geval is er een discrepantie in het ontwerp van applicaties die de alternatieve bibliotheek gebruiken en de themabibliotheek van het platform. Er zijn geen standaardtools voor het toevoegen van extra functies aan libadwaita, en pogingen om een ​​Recoloring API toe te voegen, die het gemakkelijk zou maken om kleuren in applicaties te veranderen, konden niet worden overeengekomen vanwege zorgen dat andere thema's dan Adwaita een negatieve invloed zouden kunnen hebben op de kwaliteit van toepassingen voor GNOME en bemoeilijken de analyse van problemen van gebruikers. Ontwikkelaars van alternatieve desktops waren dus gebonden aan het Adwaita-thema.

Onder de kenmerken van GTK4 die ontevredenheid veroorzaken onder Budgie-ontwikkelaars zijn de uitsluiting van de mogelijkheid om sommige widgets te wijzigen door het creëren van subklassen, de overdracht naar de categorie van verouderde X11 API's die niet compatibel zijn met Wayland (bijvoorbeeld in Budgie noemt GdkScreen en GdkX11Screen werden gebruikt om de verbinding te bepalen en de configuratie van monitoren te wijzigen), problemen met scrollen in de GtkListView-widget en het verlies van de mogelijkheid om muis- en toetsenbordgebeurtenissen in GtkPopovers af te handelen als het venster niet scherp is.

Na alle voor- en nadelen van het overstappen op alternatieve toolkits afgewogen te hebben, kwamen de ontwikkelaars tot de conclusie dat de meest optimale optie is om het project over te zetten op het gebruik van EFL-bibliotheken. De overgang naar Qt wordt als problematisch beschouwd vanwege het feit dat de bibliotheek gebaseerd is op C++ en de onzekerheid in het toekomstige licentiebeleid. Het grootste deel van de Budgie-code is geschreven in Vala, maar er was een C- of Rust-toolkit beschikbaar als migratie-opties.

Wat de Solus-distributie betreft, zal het project doorgaan met het creëren van een alternatieve build gebaseerd op GNOME, maar deze build zal worden gemarkeerd als niet onder toezicht van het project en gemarkeerd in een aparte sectie op de downloadpagina. Zodra Budgie 11 is uitgebracht, zullen ontwikkelaars de mogelijkheden ervan evalueren in vergelijking met de GNOME Shell en beslissen of ze doorgaan met het bouwen van een build met GNOME of stoppen met het bieden van tools voor migratie naar een build met Budgie 11. De Solus-build met de Budgie 11-desktop is gepland om de samenstelling van de applicaties te herzien, waarbij GNOME-applicaties worden vervangen door analogen, inclusief de applicaties die binnen het project zijn ontwikkeld. Zo is het de bedoeling om een ​​eigen applicatie-installatiecentrum te ontwikkelen.

Bedenk dat de Budgie-desktop zijn eigen implementatie van de GNOME Shell, paneel, applets en meldingssysteem biedt. Om vensters te beheren wordt de vensterbeheerder Budgie Window Manager (BWM) gebruikt, wat een uitgebreide aanpassing is van de standaard Mutter-plug-in. Budgie is gebaseerd op een paneel dat qua organisatie vergelijkbaar is met klassieke desktoppanelen. Alle paneelelementen zijn applets, waarmee u de compositie flexibel kunt aanpassen, de plaatsing kunt wijzigen en de implementaties van de hoofdpaneelelementen naar uw smaak kunt vervangen. Beschikbare applets zijn onder meer het klassieke applicatiemenu, het taakwisselsysteem, een lijst met open vensters, een virtuele desktopviewer, een energiebeheerindicator, een applet voor volumeregeling, een systeemstatusindicator en een klok.

Budgie Desktop verhuist van GTK naar EFL-bibliotheken door Enlightenment Project


Bron: opennet.ru

Voeg een reactie