Die Version 0.7 des Projekts labwc (Lab Wayland Compositor) 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 Umsetzung, umfassende Anpassungsmöglichkeiten und hohe Leistungsfähigkeit. Der Code des Projekts ist in C geschrieben und steht unter der GPLv2-Lizenz.
Als Grundlage wird die Bibliothek wlroots verwendet, die von den Entwicklern der Benutzeroberfläche Sway weiterentwickelt wird und grundlegende Funktionen für die Organisation der Arbeit eines Compositormanagers auf Basis von Wayland bereitstellt. Zu den erweiterten Wayland-Protokollen gehören wlr-output-management zur Konfiguration der Ausgabegeräte, layer-shell zur Organisation der Desktop-Umgebung und foreign-toplevel zur Anbindung eigener Panels und Fensterumschalter.
Es ist möglich, Erweiterungen mit Funktionen wie das Erstellen von Screenshots, das Anzeigen von Hintergrundbildern auf dem Desktop und das Anordnen von Panels und Menüs zu verbinden. Animierte Effekte, Farbverläufe und Symbole (mit Ausnahme von Schaltflächen für Fenster) werden aus Prinzip nicht unterstützt. Für den Start von X11-Anwendungen in einer Umgebung auf Basis des Wayland-Protokolls wird die Verwendung der DDX-Komponente 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 Bildschirme mit hoher Pixeldichte (HiDPI).
Neben dem integrierten Hauptmenü, das über menu.xml angepasst werden kann, können auch alternative Implementierungen von Anwendungsmenüs wie bemenu, fuzzel und wofi angeschlossen werden. Als Panel können Waybar, sfwbar, Yambar oder LavaLauncher verwendet werden. Zum Verwalten der Monitorverbindungen und zur Anpassung ihrer Parameter empfiehlt es sich, wlr-randr oder kanshi zu verwenden. Die Bildschirmsperre erfolgt mithilfe von swaylock.

Wesentliche Änderungen in der neuen Version:
- Es wurde auf einen neuen Zweig der Bibliothek wlroots 0.17 umgestellt.
- Die Unterstützung des Wayland-Protokolls cursor-shape-v1 wurde hinzugefügt, das zur Anpassung des Aussehens des Cursors verwendet wird, indem eine Reihe von Cursorbildern übermittelt wird.
- Unterstützung des Wayland-Protokolls für fractional-scale hinzugefügt, wodurch der Compositor nicht ganzzahlige Skalierungswerte für Oberflächen übergeben kann, was dem Client ermöglicht, genauere Puffersgrößen für wp_viewport-Objekte im Vergleich zur Übergabe gerundeter Skalierungsinformationen zu bestimmen.
- Unterstützung von Symbolen in Fensterüberschriften hinzugefügt.
- Im Fensterumschalter-Interface wurde eine Rückrollfunktion durch Drücken der Links- oder Hochstelltaste implementiert.
- Einstellung osd.workspace-switcher.boxes.{width,height} hinzugefügt, um die Größe der Thumbnails im Interface für den Wechsel zwischen virtuellen Desktops zu bestimmen.
- Neue Aktionen VirtualOutputAdd und VirtualOutputRemove zum Hinzufügen und Entfernen virtueller Ausgabegeräte hinzugefügt.
- Aktion ResizeTo zum Ändern der Größe hinzugefügt.
- Aktion ToggleOmnipresent und die Option 'Immer auf sichtbarem Arbeitsbereich' hinzugefügt, um Inhalte immer auf dem aktiven Desktop anzuzeigen.
- Für Anwendungen, die XWayland verwenden, wurde die Eigenschaft _NET_WORKAREA gesetzt, um die Größe des freien Bildschirmsbereichs, der nicht von Panels belegt ist, zu bestimmen (zum Beispiel wird dies in Qt zur Berechnung der Größe von kontextabhängigen Menüs verwendet).
Quelle: opennet.ru
