Po 14 měsících vývoje byl vydán release kompozitního správce Sway 1.9, postaveného na protokolu Wayland a plně kompatibilního s dlaždicovým správce oken i3 a panelem i3bar. Kód projektu je napsán v jazyce C a je distribuován pod licencí MIT. Projekt má za cíl 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í:
- Byly implementovány nové funkce knihovny wlroots 0.17, jako podpora Wayland protokolů content-type-v1 (zpracování informací o zobrazeném obsahu), xwayland-shell-v1 (spojení okna X11 s plochou Wayland), wp-fractional-scale-v1 (zlomkové měřítko), security-context-v1 (sandbox-izolace) a cursor-shape-v1 (nastavení vzhledu kurzoru).
- Byla vylepšena podpora protokolu "xdg-activation-v1", který umožňuje přenést fokus mezi různými plochami Wayland první úrovně (například pomocí xdg-activation může jedna aplikace přepnout fokus na jinou). Nová verze přidala podporu sledování fokusu s ohledem na virtuálních pracovních ploch a vícemonitorové konfigurace.
- Kód pro vykreslování obsahu byl převeden na nové API vykreslování poskytované knihovnou wlroots, což umožnilo zvýšit výkon.
- Do konfiguračního souboru byla přidána možnost pro vypnutí primárního schránky.
- Byly přidány nové příkazy pro řízení vstupních zařízení, které umožňují nastavit parametry RotationAngle a ScrollButtonLock v libinput pro řešení problémů s touchpady a myšemi.
- Byla přidána podpora pro používání tlačítek tabletů k změně velikosti plovoucích oken.
- Do IPC byla přidána podpora události výstupu.
- Jako výchozí aplikace pro menu byl použit projekt wmenu.
- Byla ukončena podpora specifického pro KDE protokolu idle, místo toho byl použit standardní Wayland protokol idle-notify-v1.


Zdroj: opennet.ru
