
Gli utenti di GNOME Shell che amano lavorare con le finestre affiancate possono contare su una nuova variante di Tiling Shell pensata per rendere il tiling ancora più automatico. Il progetto è una fork dell’apprezzata estensione Tiling Shell e aggiunge una modalità chiamata Dynamic Tiling, lasciando invariato il resto delle funzionalità offerte dall’estensione originale.
Il lavoro alla base di Tiling Shell appartiene a Domenico Ferraro (@domferr), autore del progetto originale. La fork nasce con l’obiettivo di poter utilizzare immediatamente la modalità dinamica senza dover attendere l’integrazione della funzionalità nel progetto principale. Il codice mantiene volutamente lo stesso identificativo dell’estensione originale, quindi l’installazione della fork sostituisce la versione upstream di Tiling Shell.
La caratteristica principale è disattivata per impostazione predefinita. Quando rimane disabilitata, l’estensione si comporta sostanzialmente come Tiling Shell originale, mentre attivandola dal pannello dell’estensione è possibile sfruttare una gestione automatica delle finestre.
Come funziona la modalità Dynamic Tiling
Il Dynamic Tiling modifica il modo in cui vengono utilizzati i layout creati attraverso l’editor di Tiling Shell. L’utente può quindi definire la suddivisione dello schermo e lasciare che l’estensione gestisca automaticamente le dimensioni delle finestre in base al numero di applicazioni aperte.
Con una sola finestra, questa occupa l’intero spazio disponibile. Quando viene aperta una seconda finestra, lo spazio viene suddiviso seguendo il layout scelto. L’apertura di una terza finestra porta a un’ulteriore suddivisione della regione interessata, mantenendo le proporzioni definite dall’utente.
Il comportamento viene aggiornato anche quando una finestra viene chiusa. Lo spazio precedentemente occupato viene automaticamente restituito alla finestra o alle finestre che condividono quella parte dello schermo. In questo modo non è necessario intervenire manualmente ogni volta che cambia il numero di applicazioni utilizzate.
Un altro elemento interessante riguarda la selezione del layout. Il layout applicato viene scelto in funzione del numero di finestre presenti, consentendo di utilizzare configurazioni differenti in base alla situazione corrente.
La fork conserva inoltre le scorciatoie dedicate alla gestione delle finestre:
- SUPER + freccia sinistra/destra/su/giù: scambia la finestra attiva con la regione adiacente.
- SUPER + ;: passa al layout successivo con lo stesso numero di riquadri.
- SHIFT + SUPER + ;: passa al layout precedente con lo stesso numero di riquadri.
- Trascinamento di una finestra sopra un’altra: scambia la posizione delle due finestre.
In modalità dinamica, le combinazioni con SUPER e le frecce assumono quindi un significato specifico: invece di spostare la finestra verso una posizione statica della griglia, consentono di scambiare direttamente le finestre.
Una fork pensata per provare subito il nuovo approccio
Il progetto non nasce come alternativa permanente a Tiling Shell. L’obiettivo dichiarato è soprattutto quello di poter utilizzare e sperimentare il Dynamic Tiling in attesa di un’eventuale integrazione nel progetto originale.
La funzionalità era già stata proposta upstream e il suo sviluppo è collegato a una richiesta di una modalità di tiling dinamico. La fork permette quindi di testare concretamente un approccio nel quale la disposizione delle finestre segue automaticamente il layout scelto, riducendo al minimo le operazioni manuali.
Durante il lavoro sono stati inoltre individuati alcuni problemi corretti separatamente e destinati al progetto principale. Questo rende la fork anche un ambiente utile per sperimentare modifiche che potrebbero successivamente essere integrate nella versione upstream.
È importante considerare anche l’identificativo dell’estensione: mantenendo intenzionalmente lo stesso UUID di Tiling Shell, questa variante non si comporta come una seconda estensione installabile parallelamente. Chi la installa sostituisce di fatto l’installazione upstream presente sul sistema.
La compatibilità con più monitor richiede invece ancora qualche attenzione. Il comportamento della modalità dinamica è stato pensato soprattutto per la gestione delle finestre all’interno del singolo schermo e il trascinamento di una finestra già organizzata da un monitor all’altro non dispone ancora di una gestione specifica.
Il progetto utilizza la licenza GPLv3, come l’originale Tiling Shell, e rappresenta una soluzione interessante per chi utilizza GNOME Shell e desidera un sistema di gestione automatica delle finestre basato su layout personalizzabili. La possibilità di definire le proporzioni una sola volta e lasciare poi che il sistema ridistribuisca automaticamente lo spazio rende il Dynamic Tiling particolarmente interessante per chi lavora abitualmente con più applicazioni aperte contemporaneamente. Abbiamo testato l’estensione su Arch Linux con ambiente desktop GNOME 50.