Die erste Ausgabe des Composite-Servers Niri wurde veröffentlicht. Das Projekt wurde inspiriert vom GNOME-Erweiterung PaperWM und implementiert eine Methode der Kachelkomposition (tiling), bei der Fenster in einem endlos scrollbaren Streifen gruppiert werden. Das Öffnen eines neuen Fensters führt zur Erweiterung des Streifens, während zuvor hinzugefügte Fenster ihre Größe nie ändern. Der Code des Projekts ist in Rust geschrieben und steht unter der GPLv3-Lizenz. Pakete sind für Fedora, NixOS, Arch Linux und FreeBSD verfügbar.

Ein Grund für die Entwicklung eines eigenen Kompositormanagers ist die Unmöglichkeit, in PaperWM eine separate Arbeit mit Monitoren zu realisieren, aufgrund der Besonderheiten von GNOME Shell (Bindung an globale Fensterkoordinaten). Das Hauptunterscheidungsmerkmal von Niri gegenüber PaperWM ist die Bindung an jeden Monitor mit eigener Fensterleiste, die sich nicht überschneiden. Niri unterstützt HiDPI und kann auf Systemen mit mehreren GPUs (zum Beispiel hybriden Systemen mit einer dedizierten Grafikkarte und integrierter GPU) betrieben werden.
Virtuelle Desktops in Niri werden dynamisch erstellt (wie in GNOME) und vertikal angeordnet (die Fensterleiste dreht sich horizontal, während die Desktopleisten vertikal ausgerichtet sind). Auf jedem Monitor kann ein unabhängiger Satz 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.
Es gibt eine integrierte Schnittstelle zum Erstellen von Screenshots und zur Aufnahme von Screencasts (der Zugriff erfolgt über xdg-desktop-portal-gnome). Für die Ausführung von X11-Anwendungen kann der DDX-Server Xwayland verwendet werden. Die Konfiguration erfolgt über eine Konfigurationsdatei, die es ermöglicht, grundlegende Umgebungsparameter wie Rahmenbreite, Abstände, Ausgabemodi und Fenstergrößen zu ändern. Konfigurationsänderungen werden sofort angewendet, ohne dass der Composite-Manager neu gestartet werden muss. Server.



Quelle: opennet.ru
