È stata pubblicata la versione del server composito Niri 0.1.5, sviluppato con ispirazione all'estensione PaperWM di GNOME e che implementa un metodo di layout a mosaico (tiling), in cui le finestre sono raggruppate in un nastro infinito scorrevole sullo schermo. L'apertura di una nuova finestra porta all'espansione del nastro, mentre le finestre precedentemente aggiunte non cambiano mai dimensione. Il codice del progetto è distribuito con licenza GPLv3. I pacchetti sono stati compilati per Fedora, NixOS, Arch Linux e FreeBSD.
La creazione di un gestore composito separato è motivata dall'impossibilità di realizzare in PaperWM la gestione distinta dei monitor a causa del vincolo alle coordinate globali delle finestre in GNOME Shell. La principale differenza di Niri rispetto a PaperWM è che ogni monitor ha il proprio nastro di finestre, che non si sovrappongono tra loro. Niri supporta HiDPI e può funzionare su sistemi con più GPU (ad esempio, sistemi ibridi con schede grafiche discrete e GPU integrate).
Come in GNOME, i desktop virtuali in Niri vengono creati dinamicamente e posizionati verticalmente (il nastro delle finestre ruota orizzontalmente, mentre il nastro dei desktop è verticale). Su ogni monitor può essere visualizzato un insieme indipendente. scrivanie virtuali. Per passare tra gli ambienti di lavoro, è possibile utilizzare gesti di controllo sul touchpad. Quando un monitor viene scollegato, la disposizione degli ambienti di lavoro virtuali viene memorizzata e trasferita sul monitor rimanente, e al ritorno del monitor viene ripristinata alla sua stato originale.

Niri si basa sul protocollo Wayland, ma consente l'esecuzione di applicazioni X11 tramite il server DDX Xwayland. È disponibile un'interfaccia integrata per creare screenshot e registrare screencast, con la caratteristica di poter escludere dalla registrazione finestre specifiche contenenti informazioni riservate.
La configurazione avviene attraverso un file di configurazione, che consente di modificare i parametri di base dell'ambiente, come la larghezza delle cornici, i margini, le modalità di output e le dimensioni delle finestre. Le modifiche apportate al file di configurazione vengono applicate automaticamente senza riavviare il server composito. È supportato il controllo tramite gesti sul touchpad. Le modifiche alla configurazione vengono applicate al volo senza riavviare il server composito.
La nuova versione è notevole per l'implementazione di nuovi effetti animati nelle manipolazioni delle finestre, nonché per l'implementazione di effetti rimbalzanti (spring animation). L'animazione ora viene applicata durante il movimento, il ridimensionamento e la chiusura delle finestre. Per coloro che trovano fastidiosi gli effetti animati, nel file di configurazione è presente un parametro per disattivare l'animazione o personalizzare ciascun effetto secondo le proprie preferenze.
Tra le altre novità:
- È stata aggiunta la supporto per l'output con frequenza di aggiornamento variabile (VRR, variable refresh rate).
- Ampliate le funzionalità dell'interfaccia IPC, utilizzata per l'interazione tra sistemi esterni e il compositore. server.
- È stato aggiunto il parametro allow-when-locked=true per definire le combinazioni da tastiera che continuano a funzionare quando lo schermo è bloccato.
- È stato garantito il ripristino della posizione precedente della finestra dopo il ritorno dalla modalità a schermo intero.
- È stata implementata la nascita del cursore del mouse durante l'interazione con il touchscreen.
- È stata aggiunta un'esempio di configurazione per disattivare il microfono.
Fonte: opennet.ru
