È stato pubblicato il primo rilascio del server composito Niri. Il progetto è stato ispirato dall'estensione GNOME PaperWM e implementa un metodo di composizione a mosaico (tiling), in cui le finestre vengono raggruppate in un nastro infinito che scorre sullo schermo. L'apertura di una nuova finestra comporta l'espansione del nastro, mentre le finestre precedentemente aggiunte non cambiano mai dimensione. Il codice del progetto è scritto in Rust e distribuito con licenza GPLv3. I pacchetti sono stati raccolti per Fedora, NixOS, Arch Linux e FreeBSD.

Come motivo per la creazione di un gestore composito separato si segnala l'impossibilità di realizzare in PaperWM un lavoro separato con i monitor a causa delle particolarità di GNOME Shell (vincolo alle coordinate globali delle finestre). La principale differenza di Niri rispetto a PaperWM è l'associazione di ciascun monitor a un proprio nastro di finestre, che non si sovrappongono. Niri supporta HiDPI e può funzionare su sistemi con più GPU (ad esempio, sistemi ibridi con scheda grafica discreta e GPU integrata).
Gli ambienti di lavoro virtuali in Niri vengono creati dinamicamente (come in GNOME) e disposti verticalmente (la striscia delle finestre ruota orizzontalmente, mentre la striscia degli ambienti di lavoro è verticale). Su ogni monitor può essere visualizzato un set 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.
È presente un'interfaccia integrata per la creazione di screenshot e registrazioni dello schermo (per l'accesso si utilizza xdg-desktop-portal-gnome). È prevista la possibilità di utilizzare il server DDX Xwayland per l'avvio delle applicazioni X11. La configurazione avviene tramite un file di configurazione che consente di modificare parametri base dell'ambiente, come larghezza delle cornici, margini, modalità di output e dimensioni delle finestre. Le modifiche alla configurazione vengono applicate in tempo reale senza dover riavviare il compositore. server.



Fonte: opennet.ru
