Budgie Desktop přechází z GTK do EFL knihoven prostřednictvím projektu Enlightenment Project

Vývojáři desktopového prostředí Budgie se rozhodli opustit používání knihovny GTK ve prospěch knihoven EFL (Enlightenment Foundation Library) vyvinutých projektem Enlightenment. Výsledky migrace nabídne vydání Budgie 11. Pozoruhodné je, že nejde o první pokus o odklon od používání GTK – v roce 2017 se projekt již rozhodl přejít na Qt, ale později své plány upravil, v naději, že se situace v GTK4 změní.

Bohužel GTK4 nenaplnila očekávání vývojářů kvůli pokračujícímu zaměření pouze na potřeby projektu GNOME, jehož vývojáři nenaslouchají názorům alternativních projektů a nejsou ochotni zohledňovat jejich potřeby. Hlavním impulsem k odklonu od GTK byly plány GNOME změnit způsob, jakým zachází se vzhledy, což ztěžuje vytváření vlastních vzhledů v projektech třetích stran. Zejména styl rozhraní platformy poskytuje knihovna libadwaita, která je svázána s tématem designu Adwaita.

Tvůrci prostředí třetích stran, kteří nechtějí kompletně replikovat rozhraní GNOME, by měli připravit své knihovny na zvládnutí stylu, ale v tomto případě existuje rozpor v návrhu aplikací využívajících alternativní knihovnu a knihovnu témat platformy. Neexistují žádné standardní nástroje pro přidávání dalších funkcí do libadwaita a pokusy přidat Recoloring API, které by usnadnilo změnu barev v aplikacích, nebylo možné dohodnout kvůli obavám, že jiná témata než Adwaita by mohla negativně ovlivnit kvalitu aplikace pro GNOME a komplikují analýzu problémů ze strany uživatelů. Vývojáři alternativních desktopů se tak ocitli svázáni s tématem Adwaita.

Mezi vlastnosti GTK4, které způsobují nespokojenost vývojářů Budgie, patří vyloučení možnosti měnit některé widgety prostřednictvím vytváření podtříd, převedení do kategorie zastaralých X11 API, které nejsou kompatibilní s Wayland (například v Budgie volá GdkScreen a GdkX11Screen byly použity k určení připojení a změně konfigurace monitorů), problémy s rolováním ve widgetu GtkListView a ztráta schopnosti zpracovávat události myši a klávesnice v GtkPopovers, pokud okno není zaostřené.

Po zvážení všech pro a proti přechodu na alternativní sady nástrojů dospěli vývojáři k závěru, že nejoptimálnější možností je přepnout projekt na použití knihoven EFL. Přechod na Qt je považován za problematický kvůli tomu, že knihovna je založena na C++ a nejistotě v budoucí licenční politice. Většina kódu Budgie je napsána ve Vala, ale jako možnosti migrace byla k dispozici sada nástrojů C nebo Rust.

Pokud jde o distribuci Solus, projekt bude i nadále vytvářet alternativní sestavení založené na GNOME, ale toto sestavení bude označeno jako nedohlížené projektem a zvýrazněno v samostatné sekci na stránce stahování. Jakmile bude Budgie 11 vydána, vývojáři vyhodnotí její možnosti ve srovnání s prostředím GNOME a rozhodnou se, zda pokračovat ve vytváření sestavení pomocí GNOME, nebo zastavit, a poskytnout nástroje pro migraci na sestavení s Budgie 11. V sestavení Solus s desktopem Budgie 11, plánuje se revize složení aplikací a nahrazení analogových aplikací GNOME, včetně těch, které byly vyvinuty v rámci projektu. Například se plánuje vývoj vlastního centra pro instalaci aplikací.

Připomeňme, že pracovní plocha Budgie nabízí vlastní implementaci prostředí GNOME, panelu, apletů a systému upozornění. Pro správu oken slouží okenní manažer Budgie Window Manager (BWM), který je rozšířenou modifikací základního pluginu Mutter. Budgie je založena na panelu, který je organizačně podobný klasickým desktopovým panelům. Všechny prvky panelu jsou applety, což vám umožňuje flexibilně přizpůsobit kompozici, změnit umístění a nahradit implementace prvků hlavního panelu podle vašeho vkusu. Dostupné aplety zahrnují klasickou nabídku aplikací, systém přepínání úloh, oblast seznamu otevřených oken, prohlížeč virtuální plochy, indikátor řízení spotřeby, aplet ovládání hlasitosti, indikátor stavu systému a hodiny.

Budgie Desktop přechází z GTK do EFL knihoven prostřednictvím projektu Enlightenment Project


Zdroj: opennet.ru

Přidat komentář