Budgie desktop prechádza z GTK do EFL knižníc z projektu Enlightenment

Vývojári desktopového prostredia Budgie sa rozhodli upustiť od používania knižnice GTK v prospech knižníc EFL (Enlightenment Foundation Library) vyvinutých v rámci projektu Enlightenment. Výsledky migrácie budú ponúknuté vo vydaní Budgie 11. Je pozoruhodné, že nejde o prvý pokus odkloniť sa od používania GTK - v roku 2017 sa projekt už rozhodol prejsť na Qt, ale neskôr upravil svoje plány, v nádeji, že sa situácia v GTK4 zmení.

Žiaľ, GTK4 nenaplnila očakávania vývojárov z dôvodu pokračujúceho zamerania sa len na potreby projektu GNOME, ktorého vývojári nepočúvajú názory alternatívnych projektov a nie sú ochotní brať do úvahy ich potreby. Hlavným impulzom pre odklon od GTK boli plány GNOME zmeniť spôsob, akým zaobchádza so vzhľadmi, čo sťažuje vytváranie vlastných vzhľadov v projektoch tretích strán. Najmä štýl rozhrania platformy poskytuje knižnica libadwaita, ktorá je prepojená s témou dizajnu Adwaita.

Tvorcovia prostredí tretích strán, ktorí nechcú úplne replikovať rozhranie GNOME, by mali pripraviť svoje knižnice na zvládnutie štýlu, no v tomto prípade existuje rozpor v dizajne aplikácií využívajúcich alternatívnu knižnicu a knižnicu tém platformy. Neexistujú žiadne štandardné nástroje na pridávanie ďalších funkcií do libadwaita a s pokusmi o pridanie rozhrania Recoloring API, ktoré by uľahčilo zmenu farieb v aplikáciách, nebolo možné súhlasiť kvôli obavám, že iné témy ako Adwaita by mohli negatívne ovplyvniť kvalitu aplikácie pre GNOME a komplikujú analýzu problémov zo strany používateľov. Vývojári alternatívnych desktopov sa tak ocitli pripútaní k téme Adwaita.

Medzi vlastnosti GTK4, ktoré spôsobujú nespokojnosť medzi vývojármi Budgie, patrí vylúčenie možnosti meniť niektoré widgety prostredníctvom vytvárania podtried, presun do kategórie zastaraných API X11, ktoré nie sú kompatibilné s Wayland (napríklad v Budgie volá GdkScreen a GdkX11Screen boli použité na určenie pripojenia a zmenu konfigurácie monitorov), problémy s rolovaním vo widgete GtkListView a strata schopnosti spracovávať udalosti myši a klávesnice v GtkPopovers, ak okno nie je zaostrené.

Po zvážení všetkých výhod a nevýhod prechodu na alternatívne sady nástrojov vývojári dospeli k záveru, že najoptimálnejšou možnosťou je prepnúť projekt na používanie knižníc EFL. Prechod na Qt sa považuje za problematický, pretože knižnica je založená na C++ a neistota v budúcej licenčnej politike. Väčšina kódu Budgie je napísaná v jazyku Vala, ale ako možnosti migrácie bola k dispozícii súprava nástrojov C alebo Rust.

Čo sa týka distribúcie Solus, projekt bude pokračovať vo vytváraní alternatívnej zostavy založenej na GNOME, ale táto zostava bude označená ako bez dozoru projektu a zvýraznená v samostatnej časti na stránke sťahovania. Po vydaní Budgie 11 vývojári vyhodnotia jej schopnosti v porovnaní s prostredím GNOME a rozhodnú sa, či budú pokračovať v budovaní zostavy s GNOME alebo prestanú, pričom poskytnú nástroje na migráciu na zostavu s Budgie 11. V zostave Solus s desktopom Budgie 11, plánuje sa revízia zloženia aplikácií nahradením aplikácií GNOME za analógy, vrátane tých, ktoré boli vyvinuté v rámci projektu. Napríklad sa plánuje vývoj vlastného centra na inštaláciu aplikácií.

Pripomeňme, že pracovná plocha Budgie ponúka vlastnú implementáciu prostredia GNOME, panel, aplety a systém upozornení. Na správu okien slúži správca okien Budgie Window Manager (BWM), ktorý je rozšírenou modifikáciou základného pluginu Mutter. Budgie je založená na paneli, ktorý je organizáciou podobný klasickým desktopovým panelom. Všetky prvky panelov sú applety, čo vám umožňuje flexibilne prispôsobiť kompozíciu, zmeniť umiestnenie a nahradiť implementácie prvkov hlavného panelu podľa vášho vkusu. Dostupné aplety zahŕňajú klasické menu aplikácií, systém prepínania úloh, oblasť zoznamu otvorených okien, prehliadač virtuálnej pracovnej plochy, indikátor správy napájania, aplet ovládania hlasitosti, indikátor stavu systému a hodiny.

Budgie desktop prechádza z GTK do EFL knižníc z projektu Enlightenment


Zdroj: opennet.ru

Pridať komentár