Die Ausgabe des Projekts labwc 0.20 (Lab Wayland Compositor) wurde veröffentlicht, das einen Kompositserver für Wayland mit Funktionen entwickelt, die an den Fenstermanager Openbox erinnern (das Projekt wird als Versuch dargestellt, eine Alternative zu Openbox für Wayland zu schaffen). Der Code des Projekts ist in C geschrieben und wird unter der GPLv2-Lizenz vertrieben. Die signifikante Versionssteigerung (von 0.9 auf 0.20) erklärt sich durch die Synchronisierung mit der Versionsnummer der Bibliothek wlroots.
Labwc wird in der grafischen Umgebung der Distribution Raspberry Pi OS verwendet und optional in den Desktop-Umgebungen Xfce und LXQt unterstützt. Zu den Zielen des Projekts labwc gehören Minimalismus, kompakte Implementierung, umfangreiche Anpassungsmöglichkeiten und hohe Leistung. Animierte Effekte, Gradienten und Symbole werden grundsätzlich nicht unterstützt, mit Ausnahme von Schaltflächen für Fenster. Die Basis bildet die Bibliothek wlroots, die von den Entwicklern der Benutzeroberfläche Sway weiterentwickelt wird und grundlegende Funktionen zur Organisation der Arbeit des Kompositmanagers auf Basis von Wayland bereitstellt.
Es ist möglich, Erweiterungen zu verbinden, die Funktionen wie das Erstellen von Screenshots, das Anzeigen von Hintergrundbildern auf dem Desktop, das Platzieren von Panels und Menüs umsetzen. Für das Ausführen von X11-Anwendungen in einer Umgebung auf Basis des Wayland-Protokolls wird die Verwendung der DDX-Komponente XWayland unterstützt. Das Designschema, das grundlegende Menü und die Tastenkombinationen können über Konfigurationsdateien im XML-Format angepasst werden. Es gibt eine eingebaute Unterstützung für Bildschirme mit hoher Pixeldichte (HiDPI).
Neben dem integrierten, über die Datei menu.xml anpassbaren Grundmenü können auch Drittanbieter-Implementierungen von Anwendungsmenüs wie bemenu, fuzzel und wofi hinzugefügt werden. Als Panel können Waybar, sfwbar, Yambar oder LavaLauncher verwendet werden. Zur Verwaltung der Verbindung von Monitoren und zur Änderung ihrer Einstellungen wird empfohlen, wlr-randr oder kanshi zu verwenden. Die Bildschirmsperre erfolgt über swaylock.
In der neuen Version:
- Die Migration auf die Version 0.20 der Bibliothek wlroots wurde durchgeführt, die Unterstützung für Farbmanagement, HDR, Anpassungen des Erscheinungsbilds des Cursors und virtuellen Arbeitsplätzen.
- Teilweise Unterstützung für die Erfassung von Inhalten, die auf einer Wayland-Oberfläche angezeigt werden (toplevel-capture), wurde implementiert, was ermöglicht, Screenshots zu erstellen und Screencasts für den Inhalt einzelner Fenster aufzunehmen. Die Implementierung umfasst vorerst keine untergeordneten oder Popup-Fenster von Anwendungen, die über XWayland gestartet werden, sowie keine verschachtelten Wayland-Oberflächen xdg.
- Unterstützung eines erweiterten Helligkeitsbereichs mit der Möglichkeit, auf HDR10-fähigen Monitoren auszugeben (funktioniert nur bei Verwendung eines auf Vulkan basierenden Rendering-Backends).
- Eine beschleunigte Navigation zu Menüelementen durch Drücken des ersten Buchstabens des Namens wurde implementiert. Zum Beispiel genügt es, das Menü mit der Kombination „Meta+a“ zu öffnen und den Buchstaben „f“ zu drücken, um Firefox zu starten.
- Eine Tastenkombination Super-d zum Ausblenden und Wiederherstellen von Fenstern wurde hinzugefügt. Für die Anpassung eigener Tastenkombinationen für diese Aktion wurde die Option ToggleShowDesktop bereitgestellt.
- Eine Kommandozeilenoption „-t“ (—title) zum Festlegen des Fenstertitels bei verschachteltem Start von labwc wurde hinzugefügt.
- Die Utility labnag wurde um die Optionen „—details-border-color“ und „—details-margin“ zur Festlegung der Farbe und des Abstands rund um den Inhalt erweitert.
- Die Installation der systemd-Einheit labwc-session.target wurde ermöglicht, sofern systemd vorhanden ist.
- In die Konfigurationsdatei wurde die Einstellung „“ für eine Verzögerung vor dem Fokussierungswechsel hinzugefügt.
- Die Option „“ unterstützt jetzt die Scrollmethode „onbutton“, und es wurde eine separate Option „“ zur Verwendung von Tasten für das Scrollen des Inhalts implementiert.
- Es wurde die Option hinzugefügt, um den Druckempfindlichkeitsbereich für Grafiktabletts einzustellen.
- In die Konfigurationsdatei wurde die Option zur Einschränkung des Zugriffs auf privilegierte Protokolle aufgenommen.
- Ein Debug-Parameter DebugToggleKeyStateIndicator wurde hinzugefügt, um Informationen über den Zustand der Tasten über dem Inhalt anzuzeigen.
- Die Unterstützung für Wayland-Protokolle zur Farbverwaltung wurde hinzugefügt: color-representation-v1 und color-management-v1.
- Die Schnittstelle wl_fixes wurde implementiert, um Probleme mit anderen Software-Schnittstellen grundlegender Protokolle zu lösen, die nicht durch die eigenen Möglichkeiten dieser Schnittstellen behoben werden können. Beispielsweise,
Die Anfrage „wl_fixes::destroy_registry“ ermöglicht die Löschung des Objekts wl_registry, wodurch der Client es nicht mehr verwenden kann und der Composite Server die Ereignisübertragung darüber einstellen wird.




Quelle: opennet.ru
