Die Veröffentlichung der Kompositionsserver-Version Niri 0.1.5 wurde bekanntgegeben. Diese Version wird inspiriert vom GNOME-Plugin PaperWM entwickelt und implementiert die Methode der mosaikartigen (Tiling) Anordnung, bei der Fenster in einem unendlich scrollenden Band gruppiert werden. Das Öffnen eines neuen Fensters führt zur Erweiterung des Bandes, während zuvor hinzugefügte Fenster ihre Größe niemals ändern. Der Code des Projekts wird unter der GPLv3-Lizenz veröffentlicht. Pakete wurden für Fedora, NixOS, Arch Linux und FreeBSD erstellt.
Als Grund für die Schaffung eines separaten Kompositionsmanagers wird die Unmöglichkeit genannt, in PaperWM eine getrennte Arbeit mit Monitoren zu realisieren, da es an globale Fensterkoordinaten in GNOME Shell gebunden ist. Ein grundsätzlicher Unterschied zwischen Niri und PaperWM ist die Zuweisung eines eigenen Fensterbands zu jedem Monitor, die sich nicht überschneiden. Niri unterstützt HiDPI und kann auf Systemen mit mehreren GPUs (z.B. hybriden Systemen mit dedizierter Grafikkarte und integriertem GPU) betrieben werden.
Wie in GNOME werden die virtuellen Desktops in Niri dynamisch erstellt und vertikal angeordnet (der Fensterriegel dreht sich horizontal, während der Deskriegel vertikal ist). Auf jedem Monitor kann eine unabhängige Gruppe angezeigt werden. virtuellen Arbeitsflächen. Zum Wechseln zwischen den Desktops können Steuerungsbewegungen auf dem Touchpad verwendet werden. Wenn der Monitor getrennt wird, wird die Anordnung der virtuellen Desktops gespeichert und auf den verbleibenden Monitor übertragen, und beim Wiederanschließen des Monitors wird der ursprüngliche Zustand wiederhergestellt.

Niri basiert auf dem Wayland-Protokoll, erlaubt jedoch das Starten von X11-Anwendungen über den DDX-Server Xwayland. Es gibt eine integrierte Schnittstelle zum Erstellen von Screenshots und zum Aufzeichnen von Screencasts, die die Möglichkeit bietet, bestimmte Fenster mit vertraulichen Informationen von der Aufnahme auszuschließen.
Die Konfiguration erfolgt über eine Konfigurationsdatei, die es ermöglicht, grundlegende Umgebungsparameter wie Rahmenbreite, Abstände, Ausgabemodi und Fenstergrößen zu ändern. Änderungen in der Konfigurationsdatei werden automatisch angewendet, ohne den Kompositserver neu starten zu müssen. Die Bedienung über Gesten auf dem Touchpad wird unterstützt. Konfigurationsänderungen werden in Echtzeit angewendet, ohne den Kompositserver neu zu starten.
Die neue Version zeichnet sich durch die Implementierung neuer animierter Effekte bei der Interaktion mit Fenstern aus sowie durch die Einführung von Federanimationen (spring animation). Die Animation wird jetzt beim Verschieben, Ändern der Größe und Schließen von Fenstern angewendet. Für diejenigen, die von animierten Effekten genervt sind, gibt es in der Konfigurationsdatei die Option, die Animation zu deaktivieren oder jeden Effekt nach eigenen Vorlieben anzupassen.
Zu den weiteren Neuerungen gehören:
- Unterstützung der Ausgabe mit variablem Bitrate (VRR, variable refresh rate) wurde hinzugefügt.
- Die Möglichkeiten des IPC-Interfaces, das zur Interaktion mit externen Systemen verwendet wird, wurden erweitert. Server.
- Die Option allow-when-locked=true wurde hinzugefügt, um Tastenkombinationen zu definieren, die bei gesperrtem Bildschirm weiterhin funktionieren.
- Die Wiederherstellung der vorherigen Fensterposition nach dem Verlassen des Vollbildmodus wurde sichergestellt.
- Die Ausblendung des Mauszeigers während der Interaktion mit dem Touchscreen wurde implementiert.
- Ein Beispiel zur Konfiguration zum Deaktivieren des Mikrofons wurde hinzugefügt.
Quelle: opennet.ru
