Dopo tre mesi di sviluppo, è stata rilasciata Niri 25.11, un server di composizione. Implementa un metodo di layout a riquadri simile all'estensione PaperWM di GNOME, raggruppando le finestre in una barra a scorrimento infinito. L'apertura di una nuova finestra espande la barra, mentre le finestre aggiunte in precedenza rimangono invariate. Il progetto si basa sul protocollo Wayland, ma consente l'esecuzione di applicazioni X11 tramite il server Xwayland DDX. Il codice del progetto è scritto in Rust ed è rilasciato sotto licenza GPLv3. Sono disponibili pacchetti per Fedora, NixOS e Arch. Linux e FreeBSD.
La differenza fondamentale tra Niri e PaperWM è che ogni monitor ha la propria timeline delle finestre, che non si sovrappone alle timeline degli altri monitor (in PaperWM, lavorare separatamente con i monitor è impossibile a causa delle coordinate globali delle finestre in GNOME Shell). Niri supporta HiDPI e può essere eseguito su sistemi con più GPU (ad esempio, sistemi ibridi con una scheda grafica dedicata e una GPU integrata). Dispone di un'interfaccia integrata per la creazione di screenshot e la registrazione di screencast, che offre la possibilità di escludere singole finestre dalla registrazione. informazioni riservate.
I desktop virtuali in Niri vengono creati dinamicamente e, in modo simile a GNOME, sono disposti verticalmente (la barra multifunzione delle finestre ruota orizzontalmente, mentre la barra multifunzione del desktop ruota verticalmente). Ogni monitor può visualizzare un set indipendente di desktop virtualiÈ possibile utilizzare i gesti del touchpad per passare da un desktop all'altro e viceversa. Quando si scollega un monitor, il layout del desktop virtuale viene memorizzato e trasferito al monitor rimanente; quando si ricollega il monitor, viene ripristinato allo stato originale. La configurazione viene eseguita tramite un file di configurazione, che consente di modificare parametri come la larghezza dei bordi, i margini, le modalità di visualizzazione e le dimensioni delle finestre. Le modifiche apportate al file di configurazione vengono applicate automaticamente senza riavviare il server composito.

Nella nuova versione:
- È stata aggiunta un'interfaccia per passare da una finestra all'altra utilizzando Alt+Tab, con anteprime in miniatura visualizzate durante lo scorrimento. Le finestre possono essere visualizzate in relazione al desktop virtuale corrente (premere "w") o al dispositivo di output (premere "o"). È disponibile anche la scorciatoia da tastiera Alt+"`" per passare da una finestra all'altra all'interno dell'applicazione corrente.

- Aggiunti effetti di animazione per le transizioni delle finestre in modalità a schermo intero e per le uscite da essa.
- È stato implementato il supporto completo per l'espansione delle finestre a schermo intero (in precedenza, era supportata l'espansione a larghezza intera mantenendo margini e bordi, ma ora è supportata l'espansione per riempire l'intera area disponibile senza visualizzare i bordi). L'espansione si esegue facendo clic sul pulsante corrispondente nella parte superiore della finestra o facendo doppio clic sulla barra del titolo.

- Aggiunta la possibilità di generare eventi di scorrimento del contenuto quando si trascina il titolo della finestra orizzontalmente in un layout a riquadri (il trascinamento verticale sposta la finestra, mentre il trascinamento orizzontale fa scorrere le informazioni nella finestra).
- Ora è possibile definire configurazioni di layout di finestre individuali collegate a uno specifico dispositivo di output (monitor) o desktop virtuale.
- I file di configurazione implementano la direttiva "include" per sostituire il contenuto di altri file.
- Aggiunto supporto per monitor esterni collegati tramite la porta DisplayLink.
- Sono state apportate modifiche per ridurre lo sfarfallio dello schermo.
- Aggiunto il supporto per l'impostazione di modalità video personalizzate per i dispositivi di output che non sono limitati dalle modalità passate tramite EDID. Ad esempio, 'mode custom=true "1920×1080@100″'.
- Aggiunto il supporto per l'esecuzione di una sessione niri in finestra in WSL (Windows Sottosistema per Linux).
Fonte: opennet.ru


