Die Veröffentlichung der Composite-Server-Version Niri 0.1.10 wurde bekannt gegeben. Diese Version implementiert die Mosaik- (Tiling-)Anordnung im Stil der GNOME-Erweiterung PaperWM, bei der Fenster in ein endlos scrollendes Band gruppiert werden. Das Öffnen eines neuen Fensters führt dazu, dass das Band erweitert wird, während zuvor hinzugefügte Fenster ihre Größe nicht ändern. Das Projekt basiert auf dem Wayland-Protokoll, ermöglicht jedoch das Ausführen von X11-Anwendungen über den DDX-Server Xwayland. Der Code des Projekts wird unter der GPLv3-Lizenz veröffentlicht. Pakete werden für Fedora, NixOS, Arch Linux und FreeBSD erstellt.
Ein wesentliches Unterscheidungsmerkmal von Niri im Vergleich zu PaperWM ist die Zuordnung eines eigenen Fenster-Streifens zu jedem Monitor, der nicht mit den Streifen anderer Monitore überlappt (in PaperWM kann aufgrund der Bindung an globale Fensterkoordinaten in GNOME Shell keine separate Arbeit mit Monitoren realisiert werden). Niri unterstützt HiDPI und kann auf Systemen mit mehreren GPUs (z. B. hybriden Systemen mit einer dedizierten Grafikkarte und einer integrierten GPU) betrieben werden. Es gibt eine integrierte Schnittstelle zur Erstellung von Screenshots und zur Aufnahme von Screencasts, wobei eine Besonderheit die Möglichkeit ist, bestimmte Fenster mit vertraulichen Informationen von der Aufnahme auszuschließen.
Virtuelle Desktops in Niri werden dynamisch erstellt und ähneln der Anordnung in GNOME, wobei sie vertikal angeordnet sind (der Fensterstreifen rotiert horizontal, während der Streifen der Desktops vertikal ist). Auf jedem Monitor kann ein unabhängiger Satz angezeigt werden. virtuellen Arbeitsflächen. Sie können zwischen Arbeitsflächen und Fenstern mithilfe von Fingerbewegungen auf dem Touchpad wechseln. Wenn der Monitor abgeschaltet wird, wird die Anordnung der virtuellen Arbeitsflächen gespeichert und auf den verbleibenden Monitor übertragen. Nach dem Wiedereinschalten des Monitors wird der ursprüngliche Zustand wiederhergestellt. Die Einstellungen erfolgen über die Konfigurationsdatei, die es ermöglicht, Parameter wie Rahmenbreite, Abstände, Ausgabemodi und Fenstergrößen zu ändern. Änderungen in der Konfigurationsdatei werden automatisch angewendet, ohne dass der Compositor neu gestartet werden muss. Server.

In der neuen Version:
- Ein interaktiver Fensterbewegungsmodus wurde hinzugefügt, der es ermöglicht, ein Fenster an einen neuen Ort zu ziehen, indem man den Fensterkopf mit der Maus oder durch Berührung auf dem Touchscreen festhält. Um unbeabsichtigte Layoutänderungen beim Ziehen zu verhindern, muss ein bestimmter Widerstandsschwellenwert überwunden werden, bevor das Fenster von der aktuellen Position gelöst werden kann.
- Die Möglichkeit wurde hinzugefügt, Befehle an das Öffnen oder Schließen des Laptop-Deckels oder den Wechsel des Laptops in den Tablet-Modus zu binden. Beispielsweise kann nach dem Wechsel in den Tablet-Modus die Bildschirmtastatur automatisch aktiviert werden. Außerdem wurde die Möglichkeit hinzugefügt, virtuelle Desktops automatisch auf einen externen Monitor zu verschieben (sofern er angeschlossen ist), nachdem der Laptop-Deckel geschlossen wurde.
- Die Unterstützung für die Anfrage set_cursor_position_hint wurde hinzugefügt. Wenn die Position des Cursors im lock_pointer-Modus fixiert ist, ermöglicht die hinzugefügte Anfrage der Anwendung, dem Compositor Informationen über die endgültige Cursorposition nach dessen Bewegung zu übermitteln.
- Es wurden Optionen zum Ausblenden des Cursors während der Texteingabe oder nach einer bestimmten Inaktivitätszeit hinzugefügt.
- Neue Eingabegeräteeinstellungen wurden hinzugefügt, einschließlich eines Abschnitts mit Einstellungen für Trackballs und Optionen für das Scrollen mit der Maus oder dem Touchpad.
- Es wird sichergestellt, dass Informationen über den aktiven virtuellen Desktop nach der erneuten Verbindung des Monitors gespeichert werden.
- Die Aktion „power-on-monitors“ wurde hinzugefügt, um die Ausgabe des Monitors aus dem Energiesparmodus zu steuern (standardmäßig wird der Monitor nach jeder Eingabeveranstaltung automatisch aktiviert).
- Eine Datei zum Start von niri unter der Verwaltung des Dienstmanagers dinit wurde hinzugefügt.
Quelle: opennet.ru
