Die Version 0.7 des Projekts labwc (Lab Wayland Compositor) ist verfügbar. Es handelt sich um einen Compositor-Server für Wayland, der Funktionen ähnlich dem Window Manager Openbox bietet (das Projekt wird als Versuch präsentiert, eine Alternative zu Openbox für Wayland zu schaffen). Zu den Merkmalen von labwc zählen Minimalismus, kompakte Implementierung, umfangreiche Anpassungsmöglichkeiten und hohe Leistung. Der Code des Projekts ist in C geschrieben und unter der GPLv2-Lizenz lizenziert.
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:
- Der Übergang auf den neuen Branch der Bibliothek wlroots 0.17 wurde vollzogen.
- Die Unterstützung des Wayland-Protokolls cursor-shape-v1 wurde hinzugefügt, das zur Anpassung des Aussehens des Cursors durch die Übertragung einer Reihe von Cursorbildern verwendet wird.
- Die Unterstützung des Wayland-Protokolls fractional-scale wurde hinzugefügt, wodurch der Compositor nicht ganzzahlige Skalierungswerte für Oberflächen übermitteln kann. Dies ermöglicht es dem Client, eine genauere Größe der Puffer für die Objekte wp_viewport zu bestimmen, im Vergleich zur Übertragung gerundeter Skalierungsinformationen.
- Unterstützung für Symbole in Fenstertiteln hinzugefügt.
- Im Fensterumschalter wurde die Möglichkeit der Rückwärtsbewegung durch Drücken der Pfeiltaste nach links oder nach oben implementiert.
- Die Einstellung osd.workspace-switcher.boxes.{width,height} wurde hinzugefügt, um die Größe der Vorschauen im Interface für den Wechsel zwischen virtuellen Desktops zu definieren.
- Neue Aktionen VirtualOutputAdd und VirtualOutputRemove wurden hinzugefügt, um virtuelle Ausgabegeräte hinzuzufügen und zu entfernen.
- Die Aktion ResizeTo zum Ändern der Größe wurde hinzugefügt.
- Die Aktion ToggleOmnipresent und die Option „Always on Visible Workspace“ wurden hinzugefügt, um Inhalte immer auf dem aktiven Desktop anzuzeigen.
- Für Anwendungen, die XWayland nutzen, wird die Eigenschaft _NET_WORKAREA bereitgestellt, die es ermöglicht, die Größe des freien Bereichs auf dem Bildschirm zu erkennen, der nicht von Panels eingenommen wird (zum Beispiel wird sie in Qt zur Berechnung der Größe von Kontextmenüs verwendet).
Quelle: opennet.ru
