Budgie Desktop flytter fra GTK til EFL-biblioteker av Enlightenment Project

Utviklerne av skrivebordsmiljøet Budgie bestemte seg for å gå bort fra å bruke GTK-biblioteket til fordel for EFL-bibliotekene (Enlightenment Foundation Library) utviklet av Enlightenment-prosjektet. Resultatene av migreringen vil bli tilbudt i utgivelsen av Budgie 11. Det er bemerkelsesverdig at dette ikke er det første forsøket på å gå bort fra å bruke GTK - i 2017 bestemte prosjektet seg allerede for å bytte til Qt, men senere reviderte planene sine, i håp om at situasjonen skulle endre seg i GTK4.

Dessverre levde ikke GTK4 opp til forventningene til utviklerne på grunn av fortsatt fokus kun på behovene til GNOME-prosjektet, hvis utviklere ikke lytter til meningene til alternative prosjekter og ikke er villige til å ta hensyn til deres behov. Den viktigste drivkraften for å flytte bort fra GTK var GNOMEs planer om å endre måten den håndterer skins på, noe som gjør det vanskelig å lage tilpassede skins i tredjepartsprosjekter. Spesielt er plattformens grensesnittstil gitt av libadwaita-biblioteket, som er knyttet til Adwaita-designtemaet.

Skapere av tredjepartsmiljøer som ikke ønsker å replikere GNOME-grensesnittet fullstendig, bør forberede bibliotekene sine til å håndtere stilen, men i dette tilfellet er det uoverensstemmelser i utformingen av applikasjoner som bruker det alternative biblioteket og plattformens temabibliotek. Det finnes ingen standardverktøy for å legge til tilleggsfunksjoner til libadwaita, og forsøk på å legge til en Recoloring API, som ville gjøre det enkelt å endre farger i applikasjoner, kunne ikke bli enige på grunn av bekymring for at andre temaer enn Adwaita kan påvirke kvaliteten på applikasjoner for GNOME og komplisere analysen av problemer fra brukere. Dermed fant utviklere av alternative skrivebord seg knyttet til Adwaita-temaet.

Blant funksjonene til GTK4 som forårsaker misnøye blant Budgie-utviklere er utelukkelsen av muligheten til å endre noen widgets gjennom opprettelse av underklasser, overføringen til kategorien av foreldede X11 APIer som ikke er kompatible med Wayland (for eksempel i Budgie kaller GdkScreen og GdkX11Screen ble brukt til å bestemme tilkoblingen og endre konfigurasjonen av skjermer ), problemer med rulling i GtkListView-widgeten og tap av evnen til å håndtere mus- og tastaturhendelser i GtkPopovers hvis vinduet ikke er i fokus.

Etter å ha veiet alle fordeler og ulemper ved å bytte til alternative verktøysett, kom utviklerne til den konklusjonen at det mest optimale alternativet er å bytte prosjektet til å bruke EFL-biblioteker. Overgangen til Qt anses som problematisk på grunn av at biblioteket er basert på C++ og usikkerheten i den fremtidige lisensieringspolitikken. Det meste av Budgie-koden er skrevet i Vala, men et C- eller Rust-verktøysett var tilgjengelig som migreringsalternativer.

Når det gjelder Solus-distribusjonen, vil prosjektet fortsette å lage en alternativ konstruksjon basert på GNOME, men denne bygningen vil bli merket som ikke overvåket av prosjektet og uthevet i en egen seksjon på nedlastingssiden. Når Budgie 11 er utgitt, vil utviklere evaluere egenskapene sammenlignet med GNOME-skallet og bestemme om de vil fortsette å bygge en build med GNOME eller stoppe, og gi verktøy for migrering til en build med Budgie 11. I Solus-bygget med Budgie 11-skrivebordet, det er planlagt å revidere sammensetningen av applikasjoner, og erstatte GNOME-applikasjoner for analoger, inkludert de som er utviklet innenfor prosjektet. For eksempel er det planlagt å utvikle vårt eget applikasjonsinstallasjonssenter.

Som en påminnelse tilbyr Budgie-skrivebordet sin egen implementering av GNOME-skallet, panelet, appletene og varslingssystemet. For å administrere vinduer brukes vindusbehandleren Budgie Window Manager (BWM), som er en utvidet modifikasjon av den grunnleggende Mutter-pluginen. Budgie er basert på et panel som i organisering ligner på klassiske skrivebordspaneler. Alle panelelementer er appleter, som lar deg fleksibelt tilpasse komposisjonen, endre plasseringen og erstatte implementeringene av hovedpanelelementene etter din smak. Tilgjengelige appleter inkluderer den klassiske applikasjonsmenyen, oppgavebyttesystem, åpne vindulisteområde, virtuell skrivebordsvisning, strømstyringsindikator, volumkontrollapplet, systemstatusindikator og klokke.

Budgie Desktop flytter fra GTK til EFL-biblioteker av Enlightenment Project


Kilde: opennet.ru

Legg til en kommentar