Die Veröffentlichung der Version 0.20 des Projekts labwc (Lab Wayland Compositor) ist erfolgt, das einen Compositor-Server für Wayland mit Funktionen entwickelt, die an den Fensterverwalter 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 unter der GPLv2-Lizenz erhältlich. Die signifikante Erhöhung der Versionsnummer (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 wird optional in den Desktop-Umgebungen Xfce und LXQt unterstützt. Zu den Zielen des Projekts labwc zählen Minimalismus, kompakte Implementierung, umfangreiche Anpassungsmöglichkeiten und hohe Leistung. Animierte Effekte, Gradienten und Icons werden prinzipiell nicht unterstützt, mit Ausnahme von Schaltflächen für Fenster. Die Bibliothek wlroots, die von den Entwicklern der Benutzeroberfläche Sway weiterentwickelt wird, wird als Basis verwendet und bietet grundlegende Funktionen für die Organisation der Arbeit eines Compositors auf Basis von Wayland.
Es ist möglich, Add-ons zu integrieren, die Funktionen wie das Erstellen von Screenshots, das Anzeigen von Hintergrundbildern auf dem Desktop sowie das Platzieren von einer Panel- und Menüleiste bieten. Um X11-Anwendungen in einer Umgebung zu starten, die auf dem Wayland-Protokoll basiert, wird die Verwendung des DDX-Komponenten XWayland unterstützt. Das Thema, das Hauptmenü und die Tastenkombinationen können über Konfigurationsdateien im XML-Format angepasst werden. Es gibt integrierte Unterstützung für hochauflösende Bildschirme (HiDPI).
Neben dem integrierten Hauptmenü, das über die Datei menu.xml konfiguriert werden kann, können auch alternative Implementierungen von Anwendungsmenüs wie bemenu, fuzzel und wofi integriert werden. Zum Panel können Waybar, sfwbar, Yambar oder LavaLauncher verwendet werden. Für die Verwaltung von Monitoranschlüssen und die Änderung ihrer Parameter wird empfohlen, wlr-randr oder kanshi zu verwenden. Der Bildschirm wird durch swaylock gesperrt.
In der neuen Version:
- Der Übergang zur Veröffentlichung der Bibliothek wlroots 0.20 wurde vollzogen, in der Unterstützung für Farbmanagement, HDR, Cursor-Anpassungen und virtuellen Arbeitsflächen.
- Teilweise Unterstützung für die Erfassung von Inhalten, die auf einer Wayland-Oberflächenoberfläche (Toplevel-Capture) ausgegeben werden, wurde implementiert. Damit können Screenshots gemacht und Screencasts für den Inhalt einzelner Fenster erstellt werden. Die Implementierung umfasst derzeit jedoch keine untergeordneten und Pop-up-Fenster von Anwendungen, die über XWayland gestartet wurden, sowie eingebettete Wayland-Oberflächen xdg.
- Die Unterstützung für einen erweiterten Helligkeitsbereich wurde hinzugefügt, um auf Monitoren, die HDR10 unterstützen, ausgegeben zu werden (funktioniert nur bei Verwendung des Render-Backends auf Vulkan-Basis).
- Eine beschleunigte Navigation zu Menüelementen durch Drücken des ersten Buchstabens des Namens wurde implementiert. Beispielsweise genügt es, das Menü mit der Kombination „Meta+a“ zu öffnen und den Buchstaben „f“ für den Start von Firefox zu drücken.
- Die Tastenkombination Super-d wurde hinzugefügt, um Fenster auszublenden und wieder anzuzeigen. Um eigene Tastenkombinationen für diese Aktion zu konfigurieren, wurde die Option ToggleShowDesktop angeboten.
- Eine Befehlszeilenoption „-t“ (—title) wurde hinzugefügt, um den Fenstertitel bei der eingebetteten Ausführung von labwc festzulegen.
- In das Tool labnag wurden die Optionen „—details-border-color“ und „—details-margin“ hinzugefügt, um die Farbe und den Abstand um den Inhalt herum festzulegen.
- Die Installation des systemd-Units labwc-session.target wird bei Vorhandensein von systemd sichergestellt.
- Die Konfigurationsdatei wurde um die Einstellung «<focus><raiseOnFocusDelay>» erweitert, um eine Verzögerung vor dem Fokussieren zu ermöglichen.
- Die Option «<libinput><device><scrollMethod>» unterstützt jetzt die Scrollmethode «onbutton», und es wurde eine separate Option «<libinput><device><scrollButton>» für das Scrollen von Inhalten mit Tasten implementiert.
- Die Option <tabletTool minPressure=»0.0″ maxPressure=»1.0″ /> wurde hinzugefügt, um den Drucksensitivitätsbereich für Grafiktabletts einzustellen.
- Die Konfigurationsdatei wurde um die Option <privilegedInterfaces> erweitert, um den Zugriff auf privilegierte Protokolle einzuschränken.
- Ein Debug-Parameter DebugToggleKeyStateIndicator wurde hinzugefügt, um Statusinformationen zu Tasten über dem Inhalt anzuzeigen.
- 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 der Basismethoden zu lösen, die durch die eigenen Fähigkeiten dieser Schnittstellen nicht behoben werden können. Zum Beispiel,
Die Anfrage „wl_fixes::destroy_registry“ ermöglicht die Löschung des Objekts wl_registry, wodurch der Client nicht mehr darauf zugreifen kann, und der Komposite der Server wird die Ereignisübertragung darüber einstellen.




Quelle: opennet.ru
