Nach 14 Monaten Entwicklung wurde die Version 1.9 des Compositormanagers Sway veröffentlicht, die auf dem Wayland-Protokoll basiert und vollstÀndig mit dem mosaikartigen Fenstermanager i3 und der i3bar kompatibel ist. Der Projektcode ist in C geschrieben und wird unter der MIT-Lizenz veröffentlicht. Das Projekt richtet sich an die Verwendung in Linux und FreeBSD.
Die KompatibilitĂ€t mit i3 wird auf Ebene der Befehle, Konfigurationsdateien und IPC gewĂ€hrleistet, sodass Sway als transparenter Ersatz fĂŒr i3 verwendet werden kann, der Wayland anstelle von X11 nutzt. Sway ermöglicht es, Fenster nicht rĂ€umlich, sondern logisch auf dem Bildschirm anzuordnen. Fenster werden in einem Gitter angeordnet, das den Bildschirmplatz optimal nutzt und eine schnelle Manipulation der Fenster nur ĂŒber die Tastatur erlaubt.
Zur Einrichtung einer vollstÀndigen BenutzeroberflÀche werden begleitende Komponenten angeboten: swayidle (Hintergrundprozess mit Implementierung des KDE idle-Protokolls), swaylock (Bildschirmschoner), mako (Benachrichtigungsmanager), grim (Screenshot-Erstellung), slurp (Bereichsauswahl auf dem Bildschirm), wf-recorder (Videoaufnahme), waybar (Anwendungsleiste), virtboard (Bildschirmtastatur), wl-clipboard (Zwischenablageverwaltung), wallutils (Desktop-Hintergrundverwaltung).
Sway entwickelt sich als modularisiertes Projekt, das auf der Bibliothek wlroots aufbaut, in die alle grundlegenden Primitiven zur Organisation des Kompositormanagers ausgelagert wurden. Wlroots umfasst Backends zur Abstraktion des Zugriffs auf Bildschirme, EingabegerĂ€te, Rendering ohne direkten Zugriff auf OpenGL, Interaktion mit KMS/DRM, libinput, Wayland und X11 (ein Layer wird bereitgestellt, um X11-Anwendungen mithilfe von Xwayland auszufĂŒhren). Neben Sway wird die Bibliothek wlroots auch in anderen Projekten eingesetzt, darunter Librem5 und Cage. Neben C/C++ wurden Bindings fĂŒr Scheme, Common Lisp, Go, Haskell, OCaml, Python und Rust entwickelt.
In der neuen Version:
- Neue Funktionen der Bibliothek wlroots 0.17 sind implementiert, wie die UnterstĂŒtzung der Wayland-Protokolle content-type-v1 (Verarbeitung von Inhalten), xwayland-shell-v1 (VerknĂŒpfung von X11-Fenstern mit Wayland-OberflĂ€chen), wp-fractional-scale-v1 (fraziles Skalieren), security-context-v1 (Sandbox-Isolierung) und cursor-shape-v1 (Anpassung des Cursor-Erscheinungsbilds).
- Die UnterstĂŒtzung des Protokolls âxdg-activation-v1â wurde verbessert, welches es ermöglicht, den Fokus zwischen verschiedenen Wayland-OberflĂ€chen der ersten Stufe zu ĂŒbertragen (zum Beispiel kann eine Anwendung den Fokus auf eine andere mit xdg-activation umschalten). In der neuen Version wurde die UnterstĂŒtzung fĂŒr das Verfolgen des Fokus unter BerĂŒcksichtigung virtuellen ArbeitsplĂ€tzen und von Mehrmonitor-Konfigurationen hinzugefĂŒgt.
- Der Code fĂŒr das Rendern von Inhalten wurde auf die neue Rendering-API der Bibliothek wlroots umgestellt, was zu einer Leistungssteigerung fĂŒhrte.
- Die Konfigurationsdatei wurde um eine Einstellung zum Deaktivieren des primÀren Clipboard ergÀnzt.
- Neue Steuerbefehle fĂŒr EingabegerĂ€te wurden hinzugefĂŒgt, um die Parameter RotationAngle und ScrollButtonLock in libinput festzulegen, um Probleme mit Touchpads und MĂ€usen zu beheben.
- Die UnterstĂŒtzung fĂŒr die Verwendung von Tablet-Tasten zur GröĂenĂ€nderung von schwebenden Fenstern wurde hinzugefĂŒgt.
- Im IPC wurde die UnterstĂŒtzung fĂŒr das Ausgabesereignis hinzugefĂŒgt.
- Das Projekt wmenu wird nun als StandardanwendungsmenĂŒ verwendet.
- Die UnterstĂŒtzung des spezifischen KDE-Protokolls idle wurde eingestellt, stattdessen wird das Standard-Wayland-Protokoll idle-notify-v1 verwendet.


Quelle: opennet.ru
