Budgie desktop byter från GTK- till EFL-bibliotek från Enlightenment-projektet

Utvecklarna av Budgie-skrivbordsmiljön bestämde sig för att gå bort från att använda GTK-biblioteket till förmån för EFL-biblioteken (Enlightenment Foundation Library) som utvecklats av Enlightenment-projektet. Resultaten av migreringen kommer att erbjudas i releasen av Budgie 11. Det är anmärkningsvärt att detta inte är det första försöket att gå bort från att använda GTK - 2017 beslutade projektet redan att byta till Qt, men senare reviderade sina planer, i hopp om att situationen skulle förändras i GTK4.

Tyvärr levde GTK4 inte upp till utvecklarnas förväntningar på grund av det fortsatta fokus enbart på behoven i GNOME-projektet, vars utvecklare inte lyssnar på åsikterna från alternativa projekt och inte är villiga att ta hänsyn till deras behov. Den främsta drivkraften för att flytta bort från GTK var GNOMEs planer på att ändra hur det hanterar skal, vilket gör det svårt att skapa anpassade skal i tredjepartsprojekt. I synnerhet tillhandahålls plattformens gränssnittsstil av libadwaita-biblioteket, som är knutet till Adwaita-designtemat.

Skapare av tredjepartsmiljöer som inte helt vill replikera GNOME-gränssnittet bör förbereda sina bibliotek för att hantera stilen, men i det här fallet finns det en diskrepans i designen av applikationer som använder det alternativa biblioteket och plattformens temabibliotek. Det finns inga standardverktyg för att lägga till ytterligare funktioner till libadwaita, och försök att lägga till ett Recoloring API, som skulle göra det enkelt att ändra färger i applikationer, kunde inte komma överens om på grund av farhågor om att andra teman än Adwaita skulle kunna påverka kvaliteten på applikationer för GNOME och komplicera analysen av problem från användare. Således fann sig utvecklare av alternativa stationära datorer bundna till Adwaita-temat.

Bland funktionerna i GTK4 som orsakar missnöje bland Budgie-utvecklare är uteslutningen av möjligheten att ändra vissa widgets genom att skapa underklasser, överföringen till kategorin föråldrade X11 API: er som inte är kompatibla med Wayland (till exempel i Budgie calls GdkScreen och GdkX11Screen användes för att fastställa anslutningen och ändra konfigurationen av monitorer ), problem med rullning i GtkListView-widgeten och förlusten av förmågan att hantera mus- och tangentbordshändelser i GtkPopovers om fönstret inte är i fokus.

Efter att ha vägt alla för- och nackdelar med att byta till alternativa verktygssatser kom utvecklarna till slutsatsen att det mest optimala alternativet är att byta projektet till att använda EFL-bibliotek. Övergången till Qt anses vara problematisk på grund av att biblioteket är baserat på C++ och osäkerheten i den framtida licenspolicyn. Det mesta av Budgie-koden är skriven i Vala, men en C- eller Rust-verktygssats var tillgänglig som migreringsalternativ.

När det gäller Solus-distributionen kommer projektet att fortsätta att skapa en alternativ byggnad baserad på GNOME, men denna byggnad kommer att markeras som inte övervakad av projektet och markeras i ett separat avsnitt på nedladdningssidan. När Budgie 11 väl har släppts kommer utvecklare att utvärdera dess kapacitet jämfört med GNOME-skalet och besluta om de ska fortsätta bygga ett bygge med GNOME eller sluta, vilket ger verktyg för migrering till en build med Budgie 11. I Solus-bygget med Budgie 11-skrivbordet, Det är planerat att revidera sammansättningen av applikationer och ersätta GNOME-applikationer för analoger, inklusive de som utvecklats inom projektet. Till exempel är det planerat att utveckla vårt eget applikationsinstallationscenter.

Kom ihåg att Budgie-skrivbordet erbjuder sin egen implementering av GNOME-skalet, panelen, appletarna och meddelandesystemet. För att hantera fönster används Budgie Window Manager (BWM) fönsterhanterare, vilket är en utökad modifiering av den grundläggande Mutter-plugin. Budgie är baserad på en panel som i organisationen liknar klassiska skrivbordspaneler. Alla panelelement är applets, vilket gör att du flexibelt kan anpassa kompositionen, ändra placeringen och ersätta implementeringarna av huvudpanelelementen efter din smak. Tillgängliga appletar inkluderar den klassiska applikationsmenyn, uppgiftsväxlingssystem, listområde med öppet fönster, virtuell skrivbordsvisning, energihanteringsindikator, volymkontrollapplet, systemstatusindikator och klocka.

Budgie desktop byter från GTK- till EFL-bibliotek från Enlightenment-projektet


Källa: opennet.ru

Lägg en kommentar