Die Version 0.6 des Projekts labwc (Lab Wayland Compositor) ist verfügbar. Dieses Projekt entwickelt einen compositing Server für Wayland mit Funktionen, die an den Fenstermanager Openbox erinnern (es wird als Versuch präsentiert, eine Alternative zu Openbox für Wayland zu schaffen). Zu den Besonderheiten von labwc gehören Minimalismus, kompakte Umsetzung, umfangreiche Anpassungsmöglichkeiten und hohe Leistung. Der Code des Projekts ist 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:
- Die Nutzung der von wlroots bereitgestellten Scene-Graph-API wurde erheblich überarbeitet. Diese Überarbeitung hat Auswirkungen auf die Darstellung, Dekoration von Fenstern, Menüs und die Implementierung der Grafikumgebung. Die Verarbeitung von Bildern und Schriftarten vor der Bildschirmdarstellung wurde auf die Verwendung von Buffern anstelle von Texturen (Struktur wlr_texture) umgestellt, was eine korrekte Skalierung der Ausgabe ermöglicht. Der Code zur Bindung von Handlern an wlr_scene_nodes wurde vereinfacht. Die Debugging-Möglichkeiten wurden erweitert.
- Unterstützung für virtuellen Arbeitsflächen.
- Unterstützung für die Verwendung verschiedener Sprachen in den Client-Menüs wurde hinzugefügt.
- Unterstützung für das Präsentationszeit-Protokoll wurde implementiert, das zur Anzeige von Videos verwendet wird.
- Unterstützung für Touch-Geräte wurde hinzugefügt.
- Unterstützung für das Protokoll drm_lease_v1 wurde implementiert, das zur Erstellung von Stereobildern mit unterschiedlichen Puffern für das linke und das rechte Auge bei der Anzeige auf Virtual-Reality-Headsets verwendet wird.
- Protokolle für die Verwendung einer virtuellen Tastatur und eines Zeigers implementiert.
- Ein Modus zum Anheften von Fenstern über anderen Fenstern (ToggleAlwaysOnTop) wurde hinzugefügt.
- Einstellungen für osd.border.color und osd.border.width wurden hinzugefügt, um die Breite und die Farbe des Fensterrahmens festzulegen.
- Einstellungen zur Änderung der Parameter für Verzögerung und Wiederholung der Tastatureingabe wurden hinzugefügt.
- Es wurde die Möglichkeit hinzugefügt, Operationen mit dem Scrollrad zu verknüpfen (standardmäßig wird beim Scrollen auf dem Desktop zwischen virtuellen Desktops gewechselt).
- Unterstützung für sanftes und horizontales Scrollen wurde hinzugefügt.
- Tests im kontinuierlichen Integrationssystem für Debian, FreeBSD, Arch und Void wurden gewährleistet, einschließlich der Builds ohne xwayland.
- Unterstützung für die Einstellung von Neigung und Dicke der Schriftarten wurde hinzugefügt (um kursive und fette Schriftarten zu verwenden).
- Die Einstellung wurde hinzugefügt, um die Aktivierung der Vorschau von Umrissen zu steuern.
- Pfeile für Untermenüs wurden gezeichnet. Im Menü wurde Unterstützung für Trennlinien hinzugefügt.
- Der Protokoll xdg-desktop-portal-wlr funktioniert ohne zusätzliche Einstellungen (dbus-Initialisierung und Aktivierung über systemd wurden durchgeführt), was Probleme beim Start von OBS Studio löste.

Quelle: opennet.ru
