Po 11 měsících vývoje byla zveřejněna nová verze kompozitního správce Sway 1.8, postaveného na protokolu Wayland, který je plně kompatibilní s dlaždicovým správce oken i3 a panelem i3bar. Kód projektu je napsán v jazyce C a distribuuje se pod licencí MIT. Projekt je zaměřen na použití v Linuxu a FreeBSD.
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. Sway umožňuje umisťovat okna na obrazovce nikoli prostorově, ale logicky. 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.
Pro vytvoření plnohodnotného uživatelského prostředí jsou nabízeny doprovodné komponenty: swayidle (bezproblémový proces s implementací protokolu KDE idle), swaylock (zámek obrazovky), mako (správce oznámení), grim (tvorba snímků obrazovky), slurp (výběr oblasti na obrazovce), wf-recorder (zachytávání videa), waybar (panel aplikací), virtboard (virtuální klávesnice), wl-clipboard (práce s clipboardem), wallutils (správa plochových pozadí).
Sway se vyvíjí jako modulární projekt postavený na knihovně wlroots, do které byly přesunuty všechny základní prvky pro organizaci práce komponujícího správce. Wlroots zahrnuje backendy pro abstrakci přístupu k obrazovce, vstupním zařízením, renderování bez přímého odvolání na OpenGL, interakci s KMS/DRM, libinput, Wayland a X11 (poskytuje vrstvu pro spuštění X11 aplikací na základě Xwayland). Kromě Sway se knihovna wlroots aktivně používá i v dalších projektech, včetně Librem5 a Cage. Kromě C/C++ byly vyvinuty vazby pro Scheme, Common Lisp, Go, Haskell, OCaml, Python a Rust.

V novém vydání:
- Byl implementován nový příkaz „bindgesture“ pro přiřazení akcí k gestům na touchpadu.
- Proces uzamčení obrazovky (swaylock) byl převeden na používání protokolu Wayland ext-session-lock-v1, což zvyšuje spolehlivost a bezpečnost uzamčení sezení.
- Byl přidán nový příkaz „output unplug“ pro odstranění virtuálních výstupních zařízení.
- Byla přidána podpora událostí vysokého rozlišení pro kolečko myši.
- Zajištěna podpora nastavení „disable while trackpointing“ v knihovně libinput pro správu deaktivace touchpadu při používání tenzometrického joysticku (trackpoint na noteboocích Thinkpad).
- Pro zvýšení spolehlivosti při určování pracovní oblasti při spouštění nových klientských aplikací byl využit protokol xdg-activation-v1.
- Ve knihovně wlroots byla vylepšena implementace renderovacího systému pomocí grafického API Vulkan.
- Pro optimalizaci procesu plánování spuštění úloh na platformě Linux byla implementována možnost nastavení oprávnění CAP_SYS_NICE.
- Byla ukončena podpora provozu s příznakem SUID root.
- Příkaz „output dpms“ byl označen za zastaralý, místo něj se nyní používá příkaz „output power“.
- Pro práci s regulárními výrazy byla místo knihovny pcre použita pcre2.
Zdroj: opennet.ru
