Nach fast einem Jahr Entwicklungszeit wurde Sway 1.12 veröffentlicht, ein Compositing-Manager, der auf dem Wayland-Protokoll basiert und mit dem i3 Tiling Window Manager und dem i3bar Panel kompatibel ist. Der Code des Projekts ist in C geschrieben und unter der MIT-Lizenz veröffentlicht. Das Projekt richtet sich an⊠Linux und FreeBSD.
Sway nutzt logische Fensterplatzierung (der Fenstermanager wĂ€hlt Position und GröĂe dynamisch unter BerĂŒcksichtigung anderer geöffneter Fenster und verhindert Ăberlappungen) anstelle der herkömmlichen rĂ€umlichen Positionierung (der Benutzer wĂ€hlt Position und GröĂe des Fensters frei, Ăberlappungen sind möglich). Die Fenster sind in einem Raster angeordnet, das den Bildschirmplatz optimal nutzt und eine schnelle Fenstermanipulation ausschlieĂlich ĂŒber die Tastatur ermöglicht. Die KompatibilitĂ€t mit i3 ist auf Befehls-, Konfigurationsdatei- und IPC-Ebene gewĂ€hrleistet, sodass Sway als nahtloser Ersatz fĂŒr i3 unter Verwendung von Wayland anstelle von X11 eingesetzt werden kann.
Um eine vollwertige Benutzerumgebung zu schaffen, werden folgende Begleitkomponenten angeboten: Swayidle (Hintergrundprozess mit Implementierung eines Standby-Modus), Swaylock (Bildschirmschoner), Mako (Benachrichtigungsmanager), Grim (Erstellen von Screenshots), Slurp (AuswÀhlen). einen Bereich auf dem Bildschirm), WF-Recorder (Video aufnehmen), Waybar (Anwendungsleiste), Virtboard (Bildschirmtastatur), WL-Clipboard (Arbeiten mit der Zwischenablage), Wallutils (Desktop-Hintergrund verwalten).
Sway wird als modulares Projekt auf Basis der wlroots-Bibliothek entwickelt, welche alle grundlegenden Bausteine ââzur Organisation des Composite-Managers enthĂ€lt. Wlroots beinhaltet Backends fĂŒr
Die Bibliothek abstrahiert den Zugriff auf Bildschirm, EingabegerĂ€te und Rendering ohne direkten Zugriff auf OpenGL. Sie ermöglicht die Interaktion mit KMS/DRM, libinput, Wayland und X11 (eine Schicht zum AusfĂŒhren von X11-Anwendungen auf Basis von Xwayland ist vorhanden). Neben Sway wird die wlroots-Bibliothek auch in anderen Projekten aktiv eingesetzt. ZusĂ€tzlich zur UnterstĂŒtzung von C/C++ werden Bindungen fĂŒr Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python und Rust bereitgestellt.
In der neuen Version:
- Die Möglichkeit, einzelne Fenster aufzunehmen, wurde hinzugefĂŒgt.
- Implementierte UnterstĂŒtzung fĂŒr HDR10-Ausgabe mit hohem Dynamikumfang bei Verwendung von Vulkan-API-basiertem Rendering.
- UnterstĂŒtzung fĂŒr Wayland-Protokolle hinzugefĂŒgt:
- color-management-v1 fĂŒr Farbmanagement und UnterstĂŒtzung fĂŒr erweiterten Dynamikumfang (HDR, High Dynamic Range).
- color-representation-v1 zur Definition der Farbdarstellung einer Wayland-OberflÀche.
- xdg-toplevel-tag-v1 fĂŒr Wayland-Clients, um Tags an OberflĂ€chen der obersten Ebene anzuhĂ€ngen, die der Compositing-Server verwenden kann, um die Position, GröĂe und Eigenschaften von Fenstern nach Neustarts wiederherzustellen und spezielle Regeln fĂŒr bestimmte Arten von Fenstern zu definieren.
- ext-workspace-v1 dient zum Erstellen von Panels oder Indikatoren, die die verfĂŒgbaren virtuellen Desktops auflisten und das Umschalten zwischen ihnen ermöglichen.
- wl_fixes dient der Behebung von Problemen mit anderen zugrunde liegenden Protokoll-APIs, die nicht durch die nativen Funktionen dieser APIs behoben werden können.
- Die Option "--device-primaries" wurde implementiert. Wenn diese Option angegeben wird, wird das Farbprofil auf Basis von Daten generiert, die der Monitor ĂŒber EDID abruft.
- Es wurde UnterstĂŒtzung fĂŒr die Erkennung des Vorhandenseins eines Tastenfelds mithilfe des Flags LIBINPUT_SWITCH_KEYPAD_SLIDE in libinput hinzugefĂŒgt.
- Die Konfigurationsdatei enthĂ€lt Belegungen fĂŒr spezielle Multimedia-Tasten (Pause, Wiedergabe fortsetzen, nĂ€chster Titel usw.), um die Wiedergabe von Multimedia-Inhalten mithilfe des Dienstprogramms playerctl zu steuern.
- Das sRGB-Ausgabefarbprofil wurde so umgestellt, dass es die stĂŒckweise sRGB-Ăbertragungsfunktion anstelle von Gamma 2.2 verwendet (fĂŒr Gamma 2.2 sollte ein separates Gamma22-Profil verwendet werden, das standardmĂ€Ăig eingestellt ist).
- Die AusfĂŒhrung auf Systemen mit nicht unterstĂŒtzten GPUs (z. B. bei Verwendung proprietĂ€rer NVIDIA-Treiber) fĂŒhrt nun zu einer Warnung anstelle eines Fehlers. Diese Warnung kann mithilfe des Flags â--unsupported-gpuâ oder der Umgebungsvariablen SWAY_UNSUPPORTED_GPU deaktiviert werden.
- Offizielle UnterstĂŒtzung fĂŒr die Verwendung von Display-Managern zum Starten von Sway hinzugefĂŒgt.
- Es werden neue Funktionen der wlroots-Bibliothek 0.20 verwendet. Zu den Ănderungen in der neuen Version von wlroots gehören: UnterstĂŒtzung fĂŒr die Definition der Farbdarstellung einer Wayland-OberflĂ€che, Farbmanagement und HDR-UnterstĂŒtzung mithilfe der Protokolle color-representation-v1 und color-management-v1. UnterstĂŒtzung fĂŒr das Wayland-Protokoll cursor-shape-v1 zur Anpassung des Cursor-Erscheinungsbilds.
ext-workspace-v1 fĂŒr die Verwendung des virtuellen Desktop-Konzepts und xdg-toplevel-tag-v1 fĂŒr die Identifizierung von Fenstern/OberflĂ€chen ĂŒber Tag-Bindung.

Source: opennet.ru
