Die Veröffentlichung des Composite-Servers Niri 25.05, der die Methode des Mozaik-Layouts im Stil der GNOME-Erweiterung PaperWM implementiert, wurde veröffentlicht. In diesem Format werden Fenster in einem endlos scrollbaren Band auf dem Bildschirm gruppiert. Das Öffnen eines neuen Fensters führt zur Erweiterung des Bandes, während die zuvor hinzugefügten Fenster ihre Größe nicht ändern. Das Projekt basiert auf der Verwendung des Wayland-Protokolls, ermöglicht jedoch die Ausführung von X11-Anwendungen über den DDX-Server Xwayland. Der Code des Projekts ist in Rust geschrieben und 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. Zum Wechseln zwischen Desktops und Fenstern können die Steuergesten auf dem Touchpad verwendet werden. Wenn der Monitor getrennt wird, wird das Layout der virtuellen Desktops gespeichert und auf den verbleibenden Monitor übertragen. Bei Rückkehr des Monitors wird der ursprüngliche Zustand wiederhergestellt. Die Einstellungen erfolgen über eine Konfigurationsdatei, die es ermöglicht, Parameter wie Rahmenbreite, Abstände, Ausgabemodi und Fenstergrößen zu ändern. Änderungen in der Konfigurationsdatei werden automatisch ohne einen Neustart des Composite-Servers angewendet.

In der neuen Version:
- Ein Überblicksmodus wurde hinzugefügt, um durch virtuelle Desktops und die darin geöffneten Fenster zu navigieren. Der Modus wird aktiviert, indem der Cursor in die linke obere Ecke bewegt wird oder durch eine Vierfingerwischgeste auf dem Touchpad, woraufhin der Zoom verringert wird und ein Band der vorhandenen virtuellen Desktops und geöffneten Fenster angezeigt wird. Fenster können mit der Maus oder durch Bildschirmgesten neu gruppiert oder zwischen den Desktops verschoben werden.

- Die Möglichkeiten zur Erstellung von Screencasts und zur Bildschirmfreigabe wurden erweitert. Es wurde eine dynamische Auswahl eines Objekts für die Aufnahme des Screencasts hinzugefügt – zunächst wird ein leerer Video-Stream erstellt, der auf die Erfassung des aktiven Fensters oder des gesamten Bildschirms auf dem aktuellen Monitor umgeschaltet werden kann. Die Unterstützung für die Aufnahme der Ausgabe von Vollbildanwendungen in Form eines virtuellen Fensters wurde implementiert.
- Im Interface zur Erstellung von Screenshots wurde die Möglichkeit hinzugefügt, den Bereich des Bildes mithilfe eines Grafiktabletts oder eines Touchscreens auszuwählen. In die untere Leiste wurde ein separater Button zur Erstellung eines Screenshots integriert.
- Die Möglichkeit zur Hervorhebung von Fenstern, die besondere Aufmerksamkeit erfordern, wurde hinzugefügt. Solche Fenster werden mit einem farbigen Rahmen hervorgehoben (die Farbe wird über die Einstellung urgent-color festgelegt) und verfügen über einen separaten Indikator in der Leiste.
- Die Möglichkeiten des IPC-Interfaces, das zur Interaktion mit externen Systemen verwendet wird, wurden erweitert. dem Server durchEs wurden Befehle hinzugefügt: „niri msg pick-window“ (gibt die ID des Fensters zurück, auf das der Benutzer geklickt hat) und „niri msg pick-color“ (gibt die Farbe des ausgewählten Pixels zurück).
- Aktionen mit Fenstern hinzugefügt: focus-monitor, move-window-to-monitor, move-column-to-monitor, focus-column, move-column-to-index.
- Einstellungen für Eingabegeräte hinzugefügt: Deaktivierung von Tap-and-Drag, Deaktivierung von Touchscreens, Änderung der Modifikatortaste, Auswahl der Ausrichtung des Touchpads, Aktivierung von Num Lock beim Start.
- Die Effizienz der Fensterzeichnung in Zwischen-Texturen (Offscreening) wurde erhöht, die einer weiteren Verarbeitung (z. B. Schichtenübereinanderlegen) vor der Anzeige auf dem Monitor unterzogen werden müssen.
Quelle: opennet.ru

