Budgie desktop skifter fra GTK til EFL biblioteker fra oplysningsprojekt

Udviklerne af Budgie-skrivebordsmiljøet besluttede at gå væk fra at bruge GTK-biblioteket til fordel for EFL-bibliotekerne (Enlightenment Foundation Library) udviklet af Enlightenment-projektet. Resultaterne af migreringen vil blive tilbudt i udgivelsen af ​​Budgie 11. Det er bemærkelsesværdigt, at dette ikke er det første forsøg på at gå væk fra at bruge GTK - i 2017 besluttede projektet allerede at skifte til Qt, men reviderede senere sine planer, i håbet om, at situationen ville ændre sig i GTK4.

Desværre levede GTK4 ikke op til udviklernes forventninger på grund af det fortsatte fokus kun på behovene i GNOME-projektet, hvis udviklere ikke lytter til meningerne fra alternative projekter og ikke er villige til at tage hensyn til deres behov. Den primære drivkraft til at bevæge sig væk fra GTK var GNOMEs planer om at ændre den måde, den håndterer skins på, hvilket gør det vanskeligt at skabe brugerdefinerede skins i tredjepartsprojekter. Især platformens interfacestil er leveret af libadwaita-biblioteket, som er knyttet til Adwaita-designtemaet.

Skabere af tredjepartsmiljøer, der ikke ønsker at kopiere GNOME-grænsefladen fuldstændigt, bør forberede deres biblioteker til at håndtere stilen, men i dette tilfælde er der en uoverensstemmelse i designet af applikationer, der bruger det alternative bibliotek og platformens temabibliotek. Der er ingen standardværktøjer til at tilføje yderligere funktioner til libadwaita, og forsøg på at tilføje en Recoloring API, som ville gøre det nemt at ændre farver i applikationer, kunne ikke blive enige på grund af bekymring for, at andre temaer end Adwaita kunne påvirke kvaliteten af applikationer til GNOME og komplicerer analysen af ​​problemer fra brugere. Udviklere af alternative desktops fandt sig således bundet til Adwaita-temaet.

Blandt funktionerne i GTK4, der forårsager utilfredshed blandt Budgie-udviklere, er udelukkelsen af ​​muligheden for at ændre nogle widgets gennem oprettelse af underklasser, overførsel til kategorien af ​​forældede X11 API'er, der ikke er kompatible med Wayland (for eksempel i Budgie kalder GdkScreen og GdkX11Screen blev brugt til at bestemme forbindelsen og ændre konfigurationen af ​​skærme ), problemer med scrollning i GtkListView-widgetten og tabet af evnen til at håndtere mus- og tastaturhændelser i GtkPopovers, hvis vinduet ikke er i fokus.

Efter at have vejet alle fordele og ulemper ved at skifte til alternative værktøjssæt, kom udviklerne til den konklusion, at den mest optimale mulighed er at skifte projektet til at bruge EFL-biblioteker. Overgangen til Qt anses for problematisk på grund af det faktum, at dette bibliotek er baseret på C++ og usikkerhed i den fremtidige licenspolitik. Det meste af Budgie-koden er skrevet i Vala, men et C- eller Rust-værktøjssæt var tilgængeligt som migreringsmuligheder.

Hvad angår Solus-distributionen, vil projektet fortsætte med at skabe en alternativ build baseret på GNOME, men denne build vil blive markeret som ikke overvåget af projektet og fremhævet i et separat afsnit på downloadsiden. Når Budgie 11 er frigivet, vil udviklere evaluere dens muligheder sammenlignet med GNOME Shell og beslutte, om de vil fortsætte med at bygge en build med GNOME eller stoppe, hvilket giver værktøjer til migrering til en build med Budgie 11. I Solus build med Budgie 11 desktop, det er planlagt at revidere sammensætningen af ​​applikationer, der erstatter GNOME-applikationer til analoger, inklusive dem, der er udviklet inden for projektet. For eksempel er det planlagt at udvikle vores eget applikationsinstallationscenter.

Som en påmindelse tilbyder Budgie-skrivebordet sin egen implementering af GNOME Shell, panel, applets og meddelelsessystem. For at administrere vinduer bruges vindueshåndteringen Budgie Window Manager (BWM), som er en udvidet modifikation af det grundlæggende Mutter-plugin. Budgie er baseret på et panel, der i organisationen ligner klassiske skrivebordspaneler. Alle panelelementer er applets, hvilket giver dig mulighed for fleksibelt at tilpasse sammensætningen, ændre placeringen og erstatte implementeringerne af hovedpanelelementerne efter din smag. Tilgængelige applets omfatter den klassiske applikationsmenu, opgaveskiftsystem, åbent vindueslisteområde, virtuel desktop-fremviser, strømstyringsindikator, volumenkontrolapplet, systemstatusindikator og ur.

Budgie desktop skifter fra GTK til EFL biblioteker fra oplysningsprojekt


Kilde: opennet.ru

Tilføj en kommentar