Da qualche anno il mondo dei compositor Wayland si è popolato di nomi ormai ricorrenti, fra cui Sway per chi cercava un erede diretto di i3, Hyprland per chi voleva animazioni ed estetica, river per gli amanti del minimalismo. Niri si è inserito in questo gruppo con un’idea piuttosto diversa, ovvero non un classico tiler a griglia ma una striscia infinita di colonne che scorre orizzontalmente, come un foglio di calcolo in cui ogni finestra occupa la propria cella e nessuna apertura ridimensiona quelle già esistenti.
A pochi giorni dal rilascio della versione 26.04, il progetto firmato da YaLTeR e dalla sua community ha aggiunto la feature più richiesta della sua storia su GitHub, ovvero il blur trasparente dietro finestre e pannelli, esposto attraverso il protocollo ext-background-effect. A questo si aggiungono il pointer warping durante lo scrolling orizzontale, un nuovo canale IPC per gli indicatori di screencast, una pulizia delle perdite di VRAM e una manciata di rifiniture pensate anche per laptop con qualche anno alle spalle.
Per chi vive in terminale e ama configurare il proprio ambiente al millimetro, Niri è una delle proposte più interessanti del momento. Non si limita a clonare un’idea già vista altrove, ma ripensa il modo stesso in cui le finestre si dispongono sullo schermo. In questa guida vedrai cosa cambia con la 26.04, come si installa su Arch e Fedora, come si configura senza pentirsene e quali sono i limiti che è bene mettere in chiaro prima di trasformarlo nel tuo daily driver.
Il paradigma dello strip infinito
L’idea centrale di Niri si capisce meglio se la si confronta con un classico tiler come Sway o i3. Per chi non lo avesse mai incrociato, un tiling window manager è un gestore di finestre che le dispone in modo automatico come piastrelle non sovrapposte sullo schermo, ed è l’opposto del comportamento di Windows o macOS dove le finestre galleggiano liberamente e si accavallano a piacimento con il mouse.
In un tiler ogni applicazione occupa una porzione precisa della superficie, lo spazio si ridistribuisce ogni volta che ne apri o ne chiudi una, e l’interazione passa quasi tutta dalla tastiera attraverso scorciatoie dedicate. È uno stile di lavoro pensato per chi vuole massimizzare lo spazio utile e ridurre al minimo il tempo speso a spostare riquadri con il puntatore.

In quei sistemi, ogni nuova finestra forza una ridistribuzione dello spazio, ovvero aprire un quarto terminale dentro un workspace già pieno significa accettare che i primi tre rimpiccioliscano per fargli posto. Il risultato è uno schermo sempre saturo, in cui ogni decisione tocca anche il lavoro che era già in corso.
Niri rovescia questo schema. Le finestre si dispongono in colonne lungo uno spazio orizzontale teoricamente infinito, e ogni colonna può a sua volta contenere più finestre impilate verticalmente. Quando ne apri una nuova, le altre non si toccano, perché la colonna appena creata si infila a destra di quella attiva e lo strip scrolla per mostrartela, lasciando alle vecchie le dimensioni che avevi deciso di tenere.
Il concetto è preso in prestito da PaperWM, l’estensione GNOME che per anni ha proposto questa filosofia, ma qui è riscritto da zero in Rust e portato nativamente su Wayland senza dipendere da una shell esterna.
Sul piano pratico, questo cambia il modo in cui si gestisce la giornata. Non esiste più la pressione a chiudere finestre per fare spazio. Un editor con la sua finestra di anteprima a destra, un terminale al centro, il browser più a sinistra, tutto resta dimensionato come lo hai impostato, e ci si sposta tra le colonne con scorciatoie da tastiera o con il trackpad a tre dita. Il workspace tradizionale non sparisce. Niri li ha, dinamici e verticali, ma cambia ruolo, perché serve a separare contesti e non a contenere finestre che non entrano da nessun’altra parte.
C’è un dettaglio che fa la differenza anche per chi viene da Hyprland, ovvero le colonne possono diventare tabbed, cioè un singolo titolo cliccabile in alto che nasconde le finestre dietro. Per chi vuole tenere insieme tre IDE diversi senza far sparire la barra di stato, è una funzione che vale più di quanto sembri a una lettura veloce della documentazione.
Cosa porta Niri 26.04
La 26.04 è la prima release a portare nel core il supporto al blur dietro le finestre, una feature che era diventata il ticket più votato del repository. L’implementazione passa attraverso ext-background-effect, un protocollo Wayland sperimentale che consente alle applicazioni e ai layer shell di chiedere esplicitamente l’effetto, senza ricorrere a hack di compositing. Terminali come foot e kitty, oltre a shell come Dank Material Shell e Noctalia, ottengono il blur senza una sola riga di configurazione manuale.
Tecnicamente Niri offre due modalità. Il blur x-ray, che è anche il default, calcola una versione sfocata dello sfondo una sola volta e la riutilizza come immagine statica dietro le finestre, ottenendo un costo in GPU praticamente nullo perché non c’è ricalcolo per frame.
Il blur normal, più costoso, sfoca in tempo reale tutto quello che si trova dietro la finestra e quindi resta sensibile al contenuto sottostante. La scelta tra i due si fa per regola, sia a livello di finestra sia di popup, grazie a un nuovo blocco popups nelle window/layer rules.
Oltre al blur, la 26.04 introduce il pointer warping durante lo scrolling orizzontale, ovvero il cursore salta automaticamente dal bordo opposto dello schermo quando ti sposti rapidamente tra colonne lontane, evitando di perderlo di vista. È stato aggiunto un canale IPC pensato per le barre desktop, che possono finalmente mostrare un indicatore quando una sessione di screencast è attiva, un dettaglio piccolo ma che chiude un gap importante per chi fa screen recording su Wayland.
Sotto il cofano è arrivata anche un’ondata di rifiniture meno appariscenti ma utili, tra cui il supporto al protocollo ext-foreign-toplevel-list (sfruttato da barre come waybar per liste finestra più ricche), il GPU profiling tramite le interfacce di tracing, un fix per un leak di VRAM che si manifestava chiudendo certe applicazioni e ottimizzazioni di rendering pensate per macchine con GPU integrate datate. Lo screencasting ha ricevuto il supporto al puntatore visibile nelle registrazioni e la possibilità di mascherare specifiche finestre come rettangoli neri quando si vuole condividere lo schermo senza far trapelare informazioni sensibili.
Installazione su Arch e Fedora senza compilare nulla
L’installazione varia parecchio a seconda della distribuzione, ma in nessun caso richiede di compilare a mano se sei su una rolling release diffusa. Su Arch Linux la 26.04 è già nei repository ufficiali extra, quindi basta un comando:
sudo pacman -S niri xdg-desktop-portal-gnome xdg-desktop-portal-gtkIl portale GNOME è la scelta consigliata dalla wiki del progetto perché gestisce correttamente la condivisione schermo e i dialoghi di sistema, mentre quello GTK fa da fallback per le applicazioni che non parlano GNOME. Su Fedora 42 e successive il pacchetto è disponibile nei repository ufficiali e si installa con dnf:
sudo dnf install niri xdg-desktop-portal-gnomeDopo la prima installazione, conviene chiudere il display manager attuale e scegliere “niri” dalla schermata di login. Se preferisci usarlo senza display manager, puoi avviarlo da TTY con il comando niri-session, che imposta in automatico le variabili d’ambiente Wayland (XDG_SESSION_TYPE, XDG_CURRENT_DESKTOP) e fa partire i servizi systemd associati.
Per chi viene da GNOME, è importante sapere che Niri si appoggia volentieri a gnome-keyring, polkit-gnome e PipeWire, quindi un setup pulito richiede qualche servizio in background gestito da systemd in modalità --user.
Un dettaglio non trascurabile riguarda chi possiede una GPU NVIDIA, perché la 26.04 funziona ma vuole il driver proprietario in versione 555 o superiore, con il modulo nvidia-drm caricato in modalità modeset. Su Arch lo si abilita aggiungendo nvidia_drm.modeset=1 ai parametri del kernel, mentre su Fedora la procedura è quella standard di rpmfusion. Sul ramo Nouveau il compositor parte ma la resa è inferiore rispetto a qualsiasi GPU AMD o Intel recente.
La configurazione in KDL, keybinding e regole finestra
La scelta più caratteristica di Niri sul lato configurazione è il formato, ovvero niente YAML, niente TOML, ma KDL, un linguaggio meno noto, simile a quello che useresti per un dialetto strutturato di Bash. Il file vive in ~/.config/niri/config.kdl e viene ricaricato a caldo, ovvero salvando qualunque modifica il compositor la applica senza riavvio. Già questa è un’esperienza che chi viene da i3 conosce meno bene.
Un esempio di configurazione minimale per partire ha questa forma:
input {
keyboard {
xkb {
layout "it"
}
}
touchpad {
tap
natural-scroll
}
}
layout {
gaps 12
center-focused-column "on-overflow"
default-column-width { proportion 0.5; }
focus-ring {
width 2
active-color "#7fbbb3"
}
}
binds {
Mod+T { spawn "foot"; }
Mod+B { spawn "firefox"; }
Mod+D { spawn "fuzzel"; }
Mod+Q { close-window; }
Mod+H { focus-column-left; }
Mod+L { focus-column-right; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+Shift+H { move-column-left; }
Mod+Shift+L { move-column-right; }
Mod+R { switch-preset-column-width; }
Mod+F { maximize-column; }
Mod+Shift+F { fullscreen-window; }
}
La parte interessante è il blocco center-focused-column "on-overflow", ovvero se la colonna attiva non entra interamente nella vista, lo strip si centra automaticamente attorno ad essa. È un dettaglio che cambia totalmente l’ergonomia, perché invece di vedere finestre tagliate ai bordi hai sempre il focus al centro dello schermo.
Per il blur introdotto in 26.04, la configurazione minima da aggiungere alle layer-rules e alle window-rules è la seguente:
layer-rule {
match namespace="^waybar$"
background-effect-blur {
passes 4
}
}
window-rule {
match app-id="^foot$"
background-effect-blur {
passes 2
}
}Le window-rules supportano anche match title=, match is-active=true, match at-startup=true e una decina di altri criteri che consentono regole molto chirurgiche. Se vuoi che il browser sia sempre maximized mentre il file manager si apra come finestra fluttuante centrata, il file di config diventa il posto giusto in cui dichiararlo una volta sola.
L’ecosistema attorno a Niri, dalle barre allo screencast
Niri non vuole essere un desktop completo, perché si limita a fare il compositor e tutto il resto va costruito sopra. La buona notizia è che funziona praticamente con qualsiasi pezzo dell’ecosistema Wayland già esistente. Per la barra di stato la scelta più solida resta waybar, dato che la 26.04 introduce il supporto a ext-foreign-toplevel-list e quindi il modulo wlr/taskbar finalmente mostra correttamente le applicazioni aperte.
Il launcher applicazioni, fuzzel è leggero e si integra senza configurazioni complicate. Per le notifiche, mako o swaync coprono tutto il necessario, incluso il do-not-disturb e il dimming temporizzato. Per il wallpaper, swww gestisce animazioni e transizioni, mentre swaybg resta una scelta valida per chi cerca il minimalismo assoluto.
Lo screencasting su Wayland è storicamente un terreno minato, e Niri con la 26.04 ha aggiunto un IPC dedicato che permette alle barre di mostrare un’icona quando una sessione è attiva, oltre alla possibilità di nascondere finestre specifiche dalla registrazione rendendole come rettangoli neri con un piccolo delay grafico. Se usi OBS, basta installare xdg-desktop-portal-gnome e abilitare PipeWire, e la condivisione finestra/schermo funziona di default senza i workaround che spesso servono altrove.
Per le applicazioni che non parlano Wayland nativo c’è xwayland-satellite, un demone che fa da ponte. Si avvia in automatico se Niri lo trova nel PATH e si limita a istanziare un server XWayland on-demand, senza tenere occupato un server permanente in background. La maggior parte delle applicazioni grafiche datate, tra cui Steam, le versioni recenti di Discord e qualche IDE Java, entrano senza accorgersene.
Una nota su Wine e gaming. La 26.04 ha visto miglioramenti netti nello scheduling delle finestre fullscreen, e con Proton-GE recente la latenza è ormai paragonabile a quella di Sway. Resta un piccolo svantaggio rispetto a Hyprland sulle finestre con cursore lock aggressivo, ma per il 90% del gaming desktop non è un fattore decisivo. Per il VR e i giochi competitivi a frame rate altissimi, oggi continuerei a tenere come riferimento Hyprland o KDE su Wayland.
Limiti di Niri e quando ha senso adottarlo
Ci sono casi in cui Niri è da sconsigliare. Il primo è il workflow basato su monitor multipli: la gestione dello strip su monitor verticali funziona, ma il passaggio tra schermi con risoluzioni molto diverse a volte richiede di toccare a mano la configurazione delle scale.
Lo stesso vale per i setup con tre monitor in cui ognuno ha un workspace dedicato a un’attività diversa, perché Niri considera lo strip globale e non per monitor, e questo cambia il modo di pensare la propria postazione.
Il secondo limite è la curva di apprendimento. Anche venendo da Sway o Hyprland, le prime giornate sono spese a reimparare il rapporto tra workspace orizzontali e workspace verticali, a capire perché lo strip si centra in un certo modo, a interiorizzare comandi come switch-preset-column-width. Chi si aspetta che dopo un’ora sia tutto al posto giusto resterà deluso, mentre chi accetta una settimana di assestamento ne esce con una velocità di gestione finestre superiore a quella che aveva prima.
Se sei un sysadmin che vive su tmux, un fotografo che alterna Darktable e RawTherapee a tutto schermo, o uno sviluppatore che salta tra IDE e terminale per ore, Niri ti restituisce un controllo sulle finestre che è difficile ottenere altrove. Se invece il tuo workflow ruota attorno a un singolo browser, una mail e Slack quasi sempre maximized, hai poco da guadagnare a migrare e ha più senso restare dove sei.
Niri è uno dei pochi progetti recenti del mondo Wayland che ha provato a fare qualcosa di diverso, riuscendoci senza perdere stabilità. In un panorama dove la maggior parte delle alternative cerca differenziazione nell’estetica delle animazioni, una proposta che ripensa la disposizione stessa delle finestre merita una prova prima di archiviarla come curiosità di nicchia.
Vuoi qualcosa di più vicino a Niri/i3 per Windows? GlazeWM o Komorebi sono le scelte migliori.













