Die Version 0.7.2 des Lab Wayland Compositor-Projekts ist verfügbar und entwickelt einen Compositor-Server für Wayland mit Funktionen, die an den Fenster-Manager Openbox erinnern (das Projekt wird als Versuch präsentiert, eine Alternative zu Openbox für Wayland zu schaffen). Zu den Merkmalen von labwc gehören Minimalismus, kompakte Implementierung, umfangreiche Anpassungsmöglichkeiten und hohe Leistung. Der Code des Projekts wurde in C geschrieben und steht unter der GPLv2-Lizenz.
Als Grundlage dient die Bibliothek wlroots, die von den Entwicklern der Benutzeroberfläche Sway gepflegt wird und grundlegende Funktionen für die Arbeit eines compositing Managers auf Basis von Wayland bereitstellt. Unterstützt werden verschiedene erweiterte Wayland-Protokolle, darunter wlr-output-management zur Konfiguration von Ausgabegeräten, layer-shell für die Verwaltung der Desktop-Umgebung und foreign-toplevel für die Verbindung eigener Panels und Fensterumschalter.
Es ist möglich, Plugins zu integrieren, die Funktionen wie das Erstellen von Screenshots, das Anzeigen von Desktop-Hintergründen sowie das Anordnen von Panels und Menüs bieten. Animierte Effekte, Farbverläufe und Icons (außer Fenster-Tasten) werden grundsätzlich nicht unterstützt. Für die Ausführung von X11-Anwendungen in einer Umgebung, die auf dem Wayland-Protokoll basiert, wird die Verwendung des DDX-Komponenten XWayland unterstützt. Das Design, das Hauptmenü und die Tastenkombinationen können über Konfigurationsdateien im XML-Format angepasst werden. Es gibt eine integrierte Unterstützung für hochauflösende Displays (HiDPI).
Neben dem integrierten Hauptmenü, welches über menu.xml konfiguriert werden kann, können auch externe Implementierungen von Anwendungsmenüs wie bemenu, fuzzel und wofi genutzt werden. Als Panel stehen Waybar, sfwbar, Yambar oder LavaLauncher zur Verfügung. Zur Verwaltung der Monitorverbindungen und zur Anpassung ihrer Einstellungen empfiehlt sich der Einsatz von wlr-randr oder kanshi. Die Bildschirmsperre erfolgt mittels swaylock.

Wesentliche Änderungen in der neuen Version:
- Eine Einstellung
- Die Möglichkeit, Schatten für Fenster zu verwenden, die auf der Seite decodiert werden, wurde hinzugefügt. ServerUm Schatten im -Block zu aktivieren, gibt es die Einstellung , und für die Anpassung von Größe und Farbe wurden die Eigenschaften window.active|inactive.shadow.size und window.active|inactive.shadow.color hinzugefügt.
- Eine Regel ignoreConfigureRequest wurde hinzugefügt, die es erlaubt, Konfigurationsanfragen von X11-Clients zu ignorieren, um die Größe und Position auf dem Bildschirm zu ändern.
- In den Regeln ist es erlaubt, an den Fenstertyp () zu binden. Beispielsweise wird für XWayland der Typ NET_WM_WINDOW_TYPE_DESKTOP verwendet.
- Zu den -Schleifen wurde die Unterstützung für die Sektionen «none» hinzugefügt, die ausgelöst werden, wenn keine erfolgreichen Übereinstimmungen gefunden werden.
- Eine Option «-S» (—session) wurde hinzugefügt, um einen bestimmten Befehl beim Start zu starten und um den Compositor-Manager beim Beenden des Befehls herunterzufahren.
- In den Designs gibt es jetzt die Möglichkeit, die Farbe für die Transparenzstufen anzugeben, indem das Format «#aabbccff» verwendet wird.
- In den Einstellungen der Fensterwechseloberfläche wurde das Erstellen beliebiger Felder mit formatierter printf-Style erlaubt, zum Beispiel . Es wurde die Möglichkeit hinzugefügt, die Breite der Fensterwechseloberfläche in Prozent relativ zur Bildschirmbreite anzugeben («osd.window-switcher.width: 75%»), und auch die Größe und Farbe des Rahmens um die Fensterminiaturen (osd.window-switcher.preview.border.width|color) kann geändert werden. Bei der Anpassung des Inhalts wurden neue Felder hinzugefügt: workspace, state, type_short und output.
- Die Unterstützung für mit Openbox kompatible Menüs (pipe-menu) wurde hinzugefügt.
- Die Möglichkeit zur Anpassung der Bildschirmkantenbindung wurde hinzugefügt.
- Die Unterstützung für die Anpassung der Eingabemethoden und die Schnittstelle zu deren Bearbeitung wurde hinzugefügt.
- Die Unterstützung für die Kalibrierung von Eingabegeräten wurde hinzugefügt.
- In der Fensterwechseloberfläche wurde die Möglichkeit zur Bestimmung des Präfixes für die Namen der virtuellen Desktops eingeführt.
- Die Möglichkeit zur Definition von Umgebungsvariablen in den *.env-Dateien, die im Verzeichnis «environment.d» liegen, wurde hinzugefügt.
- Die Unterstützung für die Angabe eines leeren Wertes zur Bereinigung einer Umgebungsvariablen wurde hinzugefügt.
- Es wurde die Möglichkeit hinzugefügt, ein Ersatzausgabegerät (LABWC_FALLBACK_OUTPUT) zu definieren, das gewählt wird, wenn die anderen Ausgabegeräte nicht verfügbar sind, was zum Beispiel bei der Ausführung eines VNC-Servers nützlich sein kann.
- Die Einstellung ermöglicht es, Fenster im window-switcher auf allen virtuellen Desktops anzuzeigen.
- Es wurde die Möglichkeit zur Ausführung eines Shutdown-Skripts beim Beenden hinzugefügt.
Quelle: opennet.ru
