Polo il nuovo window manager che porta MATE verso Wayland

  • Categoria dell'articolo:Linux
  • Articolo pubblicato:
Polos u desktop MATE
Polos u desktop MATE

Il passaggio da X11 a Wayland continua a rappresentare una delle trasformazioni più importanti per il desktop Linux. Molti ambienti grafici stanno lavorando per adattare le proprie componenti alle nuove tecnologie, cercando di mantenere allo stesso tempo la compatibilità con applicazioni, configurazioni e abitudini consolidate negli anni.

Tra i progetti interessanti in questo ambito troviamo Polo, un nuovo window manager e compositor sviluppato per il desktop MATE. Il progetto nasce con un obiettivo ben preciso: trasferire su Wayland il comportamento e le politiche di gestione delle finestre di Marco, il window manager tradizionalmente utilizzato da MATE su X11.

Polo è sviluppato utilizzando Vala e C e si basa su libweston, la libreria che fornisce le fondamenta per realizzare un compositor Wayland. Non si tratta semplicemente di aggiungere il supporto a Wayland attraverso un insieme di estensioni, ma di costruire una componente capace di assumere progressivamente le responsabilità che su X11 sono distribuite tra Marco, mate-session-manager e alcune parti di mate-settings-daemon.

La scelta progettuale è particolarmente interessante perché MATE possiede già un’architettura desktop consolidata. Polo cerca quindi di rispettare questa organizzazione, evitando di costruire una sessione MATE attorno a un compositor pensato originariamente per un ambiente grafico differente.

Polo e la nuova architettura Wayland per MATE

Uno degli aspetti più importanti del progetto riguarda il rapporto con Wayfire, compositor utilizzato nell’attuale sessione Wayland di MATE. Wayfire è un progetto estensibile basato su plugin, ma non è stato progettato specificamente come window manager per MATE.

Questa differenza ha richiesto nel tempo l’utilizzo di configurazioni aggiuntive, script di avvio, plugin e soluzioni di compatibilità per adattare il comportamento del compositor alle aspettative del desktop.

Polo segue una strada differente: integra direttamente le funzionalità necessarie a MATE, cercando di mantenere un’esperienza coerente con quella disponibile su X11.

Un elemento fondamentale è la compatibilità con le interfacce già utilizzate dalle applicazioni MATE. In modalità sessione, Polo implementa le stesse interfacce D-Bus della sessione tradizionale, comprese quelle appartenenti a org.gnome.SessionManager.

Anche le preferenze continuano a utilizzare le chiavi GSettings e dconf già conosciute dalle applicazioni. Questo significa che configurazioni e componenti del desktop possono continuare a dialogare con il sistema senza richiedere necessariamente una riscrittura.

Polo gestisce inoltre diverse funzionalità legate alla sessione:

  • Avvio automatico delle applicazioni attraverso le tradizionali fasi MATE.
  • Gestione dei client, degli inhibitor e dello stato della sessione.
  • Chiusura della sessione, riavvio e spegnimento del computer.
  • Integrazione con systemd-logind per sospensione, ibernazione e gestione dell’alimentazione.
  • Supporto alle sessioni salvate nella directory ~/.config/mate-session/saved-session.
  • Compatibilità XSMP per le applicazioni X11 meno recenti attraverso libSM.

Particolarmente interessante è la gestione degli inhibitor, ovvero quei meccanismi che permettono alle applicazioni di impedire temporaneamente la chiusura della sessione. Polo mantiene anche i tradizionali dialoghi MATE che avvisano quando alcuni programmi sono ancora in esecuzione e impediscono il logout.

Questa attenzione alla compatibilità rappresenta uno degli elementi centrali del progetto, perché consente di conservare comportamenti familiari anche durante il passaggio alla nuova infrastruttura grafica.

Sviluppo, compatibilità e futuro del desktop MATE

Polo non si limita alla gestione della sessione, ma punta progressivamente a incorporare anche le funzionalità di Marco relative al comportamento delle finestre, alle regole di posizionamento e alla gestione dei temi.

L’obiettivo è concentrare in un’unica componente le responsabilità che nell’attuale architettura MATE su X11 sono distribuite tra diversi programmi.

La scelta di libweston permette di utilizzare una base tecnologica dedicata alla gestione di Wayland, evitando di dover sviluppare autonomamente tutte le funzionalità fondamentali di un compositor.

Un altro aspetto importante riguarda mate-settings-daemon. Attualmente questo servizio continua a funzionare attraverso XWayland, poiché non dispone ancora del supporto Wayland necessario per tutte le sue funzionalità. I plugin che dipendono direttamente da X11, come quelli relativi a xrandr, tastiera, mouse, tasti multimediali, accessibilità e sfondo, vengono disabilitati esclusivamente nella sessione Polo.

Questa soluzione permette di mantenere attivi i componenti compatibili senza forzare l’utilizzo di funzionalità progettate esclusivamente per X11.

Il progetto è ancora in fase di sviluppo attivo e non rappresenta ancora una sostituzione completa e definitiva dell’attuale infrastruttura grafica di MATE. Il lavoro prosegue soprattutto sull’integrazione delle funzionalità di Marco e sulla rimozione delle dipendenze specifiche da X11.

Polo rappresenta quindi una direzione interessante per il futuro di MATE: invece di adattare continuamente un compositor esterno alle proprie necessità, il progetto punta a realizzare una soluzione Wayland costruita intorno all’architettura e alle aspettative del desktop.

Il codice sorgente e gli aggiornamenti sullo sviluppo sono disponibili nel repository GitHub ufficiale di Polo: https://github.com/KeremSoke/polo.


Lascia un commento