È stata pubblicata la versione 0.1.10 del server composito Niri, che implementa il metodo di composizione a mosaico (tiling) nello stile dell'estensione GNOME PaperWM, in cui le finestre sono raggruppate in un nastro infinito scorrevole sullo schermo. L'apertura di una nuova finestra porta ad un'espansione del nastro, mentre le finestre precedentemente aggiunte non cambiano dimensione. Il progetto si basa sull'utilizzo del protocollo Wayland, ma consente di eseguire applicazioni X11 tramite il server DDX Xwayland. Il codice del progetto è distribuito con licenza GPLv3. I pacchetti sono disponibili per Fedora, NixOS, Arch Linux e FreeBSD.
La principale differenza tra Niri e PaperWM è la gestione di un proprio stack di finestre per ogni monitor, che non si sovrappone a quello degli altri monitor (in PaperWM, la gestione separata dei monitor non è possibile a causa dell'associazione con le coordinate globali delle finestre in GNOME Shell). Niri supporta HiDPI e può funzionare su sistemi con più GPU (ad esempio, su sistemiibridi con scheda video dedicata e GPU integrata). È disponibile un'interfaccia integrata per catturare screenshot e registrare screencast, con la possibilità di escludere dalla registrazione finestre specifiche contenenti informazioni riservate.
I desktop virtuali in Niri vengono creati dinamicamente e, analogamente a GNOME, sono disposti verticalmente (lo stack delle finestre ruota orizzontalmente, mentre lo stack dei desktop è verticale). Su ciascun monitor può essere visualizzato un insieme indipendente. scrivanie virtuali. Per passare tra i desktop e le finestre, è possibile utilizzare i gesti di controllo sul touchpad. Quando il monitor è disattivato, la disposizione dei desktop virtuali viene memorizzata e trasferita sul monitor rimanente, e al riaccensione del monitor viene ripristinata alla condizione iniziale. La configurazione avviene tramite un file di configurazione, che consente di modificare parametri come la larghezza dei bordi, i margini, le modalità di output e le dimensioni delle finestre. Le modifiche apportate al file di configurazione vengono applicate automaticamente senza riavviare il compositore. server.

Nella nuova versione:
- È stata aggiunta la modalità di spostamento interattivo delle finestre, che consente di trascinare una finestra in una nuova posizione tenendo il titolo della finestra con il mouse o toccando sullo schermo touch. Per prevenire modifiche accidentali alla disposizione all'inizio del trascinamento, è necessario superare una certa soglia di resistenza per staccarsi dalla posizione attuale.
- È stata aggiunta la possibilità di associare comandi agli eventi di apertura o chiusura del coperchio del laptop o di passare il laptop alla modalità tablet. Ad esempio, dopo il passaggio alla modalità tablet, è possibile attivare automaticamente l'uso della tastiera su schermo. È stata inoltre aggiunta la possibilità di spostare automaticamente gli spazi di lavoro virtuali su un monitor esterno (se connesso) dopo la chiusura del coperchio del laptop.
- È stato aggiunto il supporto per la richiesta set_cursor_position_hint. Se la posizione del cursore è bloccata in modalità lock_pointer, la richiesta aggiunta consente all'applicazione di trasmettere al compositore le informazioni sulla posizione finale del cursore dopo il suo spostamento.
- Sono state aggiunte opzioni per nascondere il cursore durante la digitazione o dopo un certo periodo di inattività.
- Sono state aggiunte nuove impostazioni per i dispositivi di input, ad esempio, una sezione con impostazioni per il trackball e opzioni di scorrimento per il mouse o il touchpad.
- È stato garantito il salvataggio delle informazioni sul desktop virtuale attivo dopo la riconnessione del monitor.
- Aggiunta l'azione «power-on-monitors» per gestire l'uscita del monitor dalla modalità sospensione (per impostazione predefinita, il monitor si attiva automaticamente dopo qualsiasi evento di input).
- Aggiunto file per avviare niri tramite il gestore di servizi dinit.
Fonte: opennet.ru
