Il desktop Budgie passa dalle librerie GTK alle librerie EFL del progetto Enlightenment

Gli sviluppatori dell'ambiente desktop Budgie hanno deciso di abbandonare l'utilizzo della libreria GTK in favore delle librerie EFL (Enlightenment Foundation Library) sviluppate dal progetto Enlightenment. I risultati della migrazione saranno offerti nel rilascio di Budgie 11. È interessante notare che questo non è il primo tentativo di abbandonare l'uso di GTK: nel 2017 il progetto ha già deciso di passare a Qt, ma in seguito ha rivisto i suoi piani, nella speranza che la situazione cambi in GTK4.

Sfortunatamente, GTK4 non è stato all'altezza delle aspettative degli sviluppatori a causa della continua attenzione solo alle esigenze del progetto GNOME, i cui sviluppatori non ascoltano le opinioni di progetti alternativi e non sono disposti a tenere in considerazione le loro esigenze. L'impulso principale all'abbandono di GTK è stato il piano di GNOME di cambiare il modo in cui gestisce gli skin, il che rende difficile creare skin personalizzate in progetti di terze parti. In particolare, lo stile dell'interfaccia della piattaforma è fornito dalla libreria libadwaita, che è legata al tema del design Adwaita.

I creatori di ambienti di terze parti che non vogliono replicare completamente l'interfaccia GNOME dovrebbero preparare le loro librerie per gestire lo stile, ma in questo caso c'è una discrepanza nella progettazione delle applicazioni che utilizzano la libreria alternativa e la libreria dei temi della piattaforma. Non esistono strumenti standard per aggiungere funzionalità aggiuntive a libadwaita e i tentativi di aggiungere un'API di ricolorazione, che renderebbe facile cambiare i colori nelle applicazioni, non sono stati concordati a causa delle preoccupazioni che temi diversi da Adwaita potrebbero influenzare negativamente la qualità di applicazioni per GNOME e complicare l'analisi dei problemi da parte degli utenti. Pertanto, gli sviluppatori di desktop alternativi si sono ritrovati legati al tema Adwaita.

Tra le caratteristiche di GTK4 che causano insoddisfazione tra gli sviluppatori di Budgie ci sono l'esclusione della possibilità di modificare alcuni widget attraverso la creazione di sottoclassi, il trasferimento nella categoria delle API X11 obsolete che non sono compatibili con Wayland (ad esempio, in Budgie chiama GdkScreen e GdkX11Screen sono stati utilizzati per determinare la connessione e modificare la configurazione dei monitor), problemi con lo scorrimento nel widget GtkListView e la perdita della capacità di gestire eventi del mouse e della tastiera in GtkPopovers se la finestra non è a fuoco.

Dopo aver valutato tutti i pro e i contro del passaggio a toolkit alternativi, gli sviluppatori sono giunti alla conclusione che l'opzione più ottimale è passare il progetto all'utilizzo delle librerie EFL. Il passaggio a Qt è considerato problematico a causa del fatto che la libreria è basata su C++ e dell'incertezza sulla futura politica di licenza. La maggior parte del codice di Budgie è scritto in Vala, ma come opzioni di migrazione era disponibile un toolkit C o Rust.

Per quanto riguarda la distribuzione Solus, il progetto continuerà a creare una build alternativa basata su GNOME, ma questa build sarà contrassegnata come non supervisionata dal progetto ed evidenziata in una sezione separata nella pagina di download. Una volta rilasciato Budgie 11, gli sviluppatori ne valuteranno le capacità rispetto alla GNOME Shell e decideranno se continuare a creare una build con GNOME o interromperla, fornendo strumenti per la migrazione a una build con Budgie 11. Nella build Solus con il desktop Budgie 11, si prevede di rivedere la composizione delle applicazioni, sostituendo le applicazioni GNOME con analoghi, comprese quelle sviluppate nell'ambito del progetto. Ad esempio, si prevede di sviluppare un proprio centro di installazione di applicazioni.

Ricordiamo che il desktop Budgie offre la propria implementazione di GNOME Shell, pannello, applet e sistema di notifica. Per gestire le finestre, viene utilizzato il gestore di finestre Budgie Window Manager (BWM), che è una modifica estesa del plug-in Mutter di base. Budgie si basa su un pannello simile nell'organizzazione ai classici pannelli del desktop. Tutti gli elementi del pannello sono applet, che ti consentono di personalizzare in modo flessibile la composizione, modificare il posizionamento e sostituire le implementazioni degli elementi principali del pannello secondo i tuoi gusti. Gli applet disponibili includono il classico menu delle applicazioni, il sistema di cambio attività, l'area dell'elenco delle finestre aperte, il visualizzatore del desktop virtuale, l'indicatore di gestione dell'alimentazione, l'applet di controllo del volume, l'indicatore di stato del sistema e l'orologio.

Il desktop Budgie passa dalle librerie GTK alle librerie EFL del progetto Enlightenment


Fonte: opennet.ru

Aggiungi un commento