Die Version 1.7 des Composite Managers Sway wurde veröffentlicht, der mit dem Wayland-Protokoll entwickelt wurde und vollstÀndig kompatibel mit dem Mosaik-Fenstermanager i3 sowie der i3bar ist. Der Projektcode ist in C geschrieben und steht unter der MIT-Lizenz. Das Projekt zielt auf die Verwendung in Linux und FreeBSD ab.
Die KompatibilitÀt mit i3 wird auf der Ebene der Befehle, Konfigurationsdateien und IPC gewÀhrleistet, wodurch Sway als transparente Alternative zu i3 fungiert, die Wayland anstelle von X11 verwendet. Sway ermöglicht es, Fenster logisch auf dem Bildschirm anzuordnen, anstatt sie rÀumlich zu platzieren. Fenster werden in einem Gitter angeordnet, das den Bildschirmraum optimal nutzt und eine schnelle Manipulation der Fenster nur mit der Tastatur ermöglicht.
FĂŒr die Einrichtung einer vollwertigen Benutzerumgebung werden begleitende Komponenten angeboten: swayidle (Hintergrundprozess zur Implementierung des KDE idle-Protokolls), swaylock (Bildschirmsperre), mako (Benachrichtigungsmanager), grim (Screenshot-Erstellung), slurp (Bereichsauswahl auf dem Bildschirm), wf-recorder (Videoaufnahme), waybar (Anwendungsleiste), virtboard (Bildschirmtastatur), wl-clipboard (Zwischenablage-Verwaltung), wallutils (Hintergrundbildverwaltung).
Sway entwickelt sich als modulares Projekt, das auf der Bibliothek wlroots basiert, die alle grundlegenden Primitiven fĂŒr die Organisation der Arbeit des Compositing-Managers bereitstellt. Wlroots umfasst Backends zur Abstraktion des Zugriffs auf den Bildschirm, EingabegerĂ€te, Rendering ohne direkten Zugriff auf OpenGL, Interaktion mit KMS/DRM, libinput, Wayland und X11 (eine Schicht zur AusfĂŒhrung von X11-Anwendungen auf Basis von Xwayland wird bereitgestellt). Neben Sway wird die Bibliothek wlroots auch in anderen Projekten wie Librem5 und Cage aktiv genutzt. Neben C/C++ wurden Bindings fĂŒr Scheme, Common Lisp, Go, Haskell, OCaml, Python und Rust entwickelt.
In der neuen Version:
- Die Möglichkeit, Tabs per Maus zu verschieben, wurde hinzugefĂŒgt.
- UnterstĂŒtzung fĂŒr die Ausgabe auf Virtual-Reality-Headsets wurde hinzugefĂŒgt.
- Der Befehl âoutput render_bit_depthâ wurde hinzugefĂŒgt, um den hochfarbigen Compositing-Modus zu aktivieren.
- Die ZuverlÀssigkeit und Leistung der Vollbildfenster-Ausgabe wurde verbessert (durch dmabuf ist eine direkte Ausgabe ohne zusÀtzliche Pufferung gewÀhrleistet).
- Das Protokoll xdg-activation-v1 wurde implementiert, um den Fokus zwischen verschiedenen obersten OberflĂ€chen zu ĂŒbertragen (zum Beispiel kann eine Anwendung ĂŒber xdg-activation den Fokus auf eine andere anwenden).
- Die Option client.focused_tab_title wurde hinzugefĂŒgt, um die Farbe des aktiven Tabs anzupassen.
- Der Befehl âoutput modelineâ wurde hinzugefĂŒgt, um einen eigenen DRM (Direct Rendering Manager) Modus einzustellen.
- Der Befehl âoutput dpms toggleâ wurde hinzugefĂŒgt, um das Ausschalten des Bildschirms aus Skripten zu erleichtern. AuĂerdem wurden die Befehle âgaps toggle â, âsmart_gaps inverse_outerâ und âsplit noneâ hinzugefĂŒgt.
- Die Option ââmy-next-gpu-wont-be-nvidiaâ wurde entfernt, stattdessen sollte der Modus ââunsupported-gpuâ verwendet werden. ProprietĂ€re NVIDIA-Treiber werden weiterhin nicht unterstĂŒtzt.
- Der in den Standardeinstellungen festgelegte Terminalemulator wurde durch foot ersetzt.
- Es wurde die Möglichkeit geschaffen, die Swaybar und die Swaynag-Dialoge wÀhrend des Builds auszuschalten.
- Die dynamische Ănderung der Fensterhöhe basierend auf den Zeichen im Titeltext ist nun untersagt; der Titel hat jetzt immer eine feste Höhe.

Quelle: opennet.ru
