Po 7 měsících vývoje byla zveřejněna verze správce oken Sway 1.11, postavená na protokolu Wayland, která je kompatibilní s dlaždicovým správcem oken i3 a panelem i3bar. Kód projektu je napsán v jazyce C a je šířen pod licencí MIT. Projekt je zaměřen na použití v Linuxu a FreeBSD.
Sway umožňuje umisťování oken na obrazovku logicky, nikoli prostorově. Okna jsou uspořádána do mřížky, která optimálně využívá prostor na obrazovce a umožňuje rychlou manipulaci s okny pouze pomocí klávesnice. Kompatibilita s i3 je zajištěna na úrovni příkazů, konfiguračních souborů a IPC, což umožňuje používat Sway jako průhlednou náhradu i3, která využívá Wayland místo X11.
Pro vytvoření plnohodnotného uživatelského prostředí jsou nabízeny doprovodné komponenty: swayidle (běžící proces implementující režim čekání), swaylock (ochrana obrazovky), mako (správce oznámení), grim (tvorba screenshotů), slurp (výběr oblasti na obrazovce), wf-recorder (zachytávání videa), waybar (panel aplikací), virtboard (obrazová klávesnice), wl-clipboard (práce s clipboardem), wallutils (správa tapet plochy).
Sway se vyvíjí jako modulární projekt, postavený na knihovně wlroots, která vytěsňuje všechny základní primitiva pro organizaci práce správce oken. Wlroots obsahuje backendy pro abstrakci přístupu k obrazovce, vstupním zařízením, vykreslování bez přímého oslovení OpenGL, interakci s KMS/DRM, libinput, Wayland a X11 (poskytuje mezivrstvu pro spuštění aplikací X11 na základě Xwayland). Kromě Sway se knihovna wlroots aktivně používá i v jiných projektech. Kromě podpory jazyků C/C++ jsou k dispozici také obaly pro jazyky Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python a Rust.
V novém vydání:
- Byla přidána podpora Wayland protokolu linux-drm-syncobj-v1 pro explicitní synchronizaci bufferů, která zaručuje, že operace vykreslování do bufferu je dokončena, než správce oken tento buffer zobrazí.
- Byla přidána podpora Wayland protokolu alpha-modifier-v1, která klientům umožňuje měnit úroveň průhlednosti povrchu a přesunout operace na zajištění průhlednosti na stranu správce oken. serveru, který může tyto operace předat běžícímu modulu KMS na úrovni jádra.
- Byla přidána podpora Wayland protokolů ext-image-capture-source a ext-image-copy-capture pro zachycení obsahu zobrazovaného na obrazovce.
- Byla přidána podpora Wayland protokolu ext-data-control, který umožňuje privilegovaným klientům řídit zpracování dat, například pro implementaci správců schránky.
- Do mechanismu meziprocesní komunikace (IPC) byla integrována podpora metadat pro bezpečnostní kontexty, realizované prostřednictvím Wayland protokolu security-context-v1.
- Byla vylepšena logika nastavení výstupu pro kvalitnější a rychlejší přepínání mezi různými zařízeními.
- Byla přidána podpora kláves pro ovládání kurzoru.
- Do výchozí konfiguračního souboru byly přidány klávesové zkratky pro spuštění utilit pactl, brightnessctl a grim.
- Výchozí nabídkové rozhraní bylo přeloženo na použití utility wmenu-run a již nezávisí na skriptu dmenu_path.
- Byly využity nové možnosti knihovny wlroots 0.19. Mezi změnami ve wlroots:
- Byly implementovány protokoly Wayland:
- color-management-v1 (pro podporu HDR10);
- ext-image-capture-source-v1 a ext-image-copy-capture-v1 (pro zachycení obsahu obrazovky);
- ext-data-control-v1 (pro správu schránky);
- xdg-toplevel-icon-v1 (pro přiřazení vlastních ikon);
- xdg-dialog-v1 (pro vytváření pokročilých dialogových oken);
- xdg-system-bell-v1 (pro výstup signálu);
- ext-idle-notify-v1 (pro sledování aktivity);
- presentation-time (pro adaptivní změnu frekvence obnovování monitoru);
- wlr-layer-shell-v1.5 (pro definování hranic exkluzivních zón na obrazovce).
- Ve backendových a renderovacích enginech byla implementována podpora explicitní synchronizace bufferů pomocí synchronizačních objektů DRM (Direct Rendering Manager).
- Byla přidána podpora Multi-GPU pro zobrazovací zařízení, jako jsou USB adaptéry GUD.
- Implementace přímého výstupu (direct scanout) v backendech nyní podporuje ořezávání a měřítkování bufferů.
- Byly optimalizovány operace s grafem scény (Scene-graph).
- Byly implementovány protokoly Wayland:

Zdroj: opennet.ru
