A 7 hónapos fejlesztést követően megjelent a Sway 1.11 kompozit kezelő, amely a Wayland protokollra épül, és kompatibilis az i3 ablakkezelővel és az i3bar panellel. A projekt kódja C nyelven íródott és MIT licenc alatt terjesztik. A projekt célja a Linux és FreeBSD rendszerek használata.
A Sway lehetővé teszi az ablakok elhelyezését a képernyőn nem térben, hanem logikailag. Az ablakok egy rácsot alkotva helyezkednek el, optimálisan kihasználva a képernyő területét, és lehetővé téve az ablakok gyors manipulálását kizárólag a billentyűzet segítségével. Az i3 kompatibilitás a parancsok, a konfigurációs fájlok és az IPC szintjén biztosított, ami lehetővé teszi, hogy a Sway a i3 átlátszó helyettesítőjeként működjön, a Wayland használatával az X11 helyett.
A teljes körű felhasználói környezet kialakításához kiegészítő komponensek állnak rendelkezésre: swayidle (háttérfolyamat, amely implementálja az alvó üzemmódot), swaylock (képernyővédő), mako (értesítéskezelő), grim (képernyőképek készítése), slurp (választó terület a képernyőn), wf-recorder (videó rögzítés), waybar (alkalmazáspanel), virtboard (képernyős billentyűzet), wl-clipboard (vágólap kezelése), wallutils (asztali háttérkép kezelése).
A Sway egy moduláris projektként fejlődik, amely a wlroots könyvtárra épül, amely magában foglalja az összes alapvető primitívet a kompozit kezelő működésének megszervezésére. A wlroots backend-eket tartalmaz a képernyő, a bemeneti eszközök, az OpenGL közvetlen használata nélküli rajzolás, a KMS/DRM, libinput, Wayland és X11 (ami biztosít egy réteget az X11-alkalmazások Xwayland alapú indításához) hozzáférésének elabstraktálására. A wlroots könyvtár más projektekben is aktívan használatos. A C/C++ nyelvek támogatása mellett lehetőségek vannak erőforrások körüli borítók számára a Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python és Rust nyelvekhez.
Az új kiadásban:
- Hozzáadva a linux-drm-syncobj-v1 Wayland protokoll támogatása az explicit buffer szinkronizálás érdekében, amely lehetővé teszi annak biztosítását, hogy a buffer rajzolásának operation befejeződik, mielőtt a kompozit kezelő megjeleníti azt a buffert.
- Hozzáadva az alpha-modifier-v1 Wayland protokoll támogatása, amely lehetővé teszi az ügyfelek számára a felület átlátszósági szintjének megváltoztatását, és a kompozit kezelő oldalára helyezi az átlátszóság biztosításához szükséges műveleteket, a szerver, amely viszont átirányíthatja ezeket a műveleteket a kernel szinten futó KMS modulra.
- Hozzáadva az ext-image-capture-source és ext-image-copy-capture Wayland protokollok támogatása a képernyőre kimeneti tartalom rögzítéséhez.
- Hozzáadva az ext-data-control Wayland protokoll támogatása, amely lehetővé teszi a privilegizált ügyfelek számára az adatok feldolgozásának kezelését, például a vágólap kezelők megvalósításához.
- A folyamatok közötti kommunikációs mechanizmusba (IPC) integrálták a biztonsági kontextusokhoz kapcsolódó metaadatok támogatását, amelyet a security-context-v1 Wayland protokoll segítségével valósítanak meg.
- Javították a kimeneti beállítások logikáját a más eszközökre való gyorsabb és magasabb minőségű visszaváltáshoz.
- Hozzáadták a mutatóvezérlő gombok támogatását.
- Az alapértelmezett konfigurációs fájlhoz hozzáadták a billentyűkombinációkat a pactl, brightnessctl és grim segédprogramok elindításához.
- Az alapértelmezett javasolt menü átállt a wmenu-run segédprogram használatára, és már nem függ a dmenu_path szkripttől.
- Új lehetőségek kerültek bevezetésre a wlroots 0.19 könyvtárban. A wlroots változásai közé tartoznak:
- Megvalósították a Wayland protokollokat:
- color-management-v1 (HDR10 támogatás);
- ext-image-capture-source-v1 és ext-image-copy-capture-v1 (a képernyő tartalmának rögzítéséhez);
- ext-data-control-v1 (a vágólap kezeléséhez);
- xdg-toplevel-icon-v1 (a saját ikonok kötéséhez);
- xdg-dialog-v1 (fejlett párbeszédpanelek létrehozásához);
- xdg-system-bell-v1 (jelzés átadásához);
- ext-idle-notify-v1 (tevékenység nyomon követéséhez);
- presentation-time (az adaptív frissítési arányhoz a monitor számára);
- wlr-layer-shell-v1.5 (exkluzív zónák határainak megadásához a képernyőn).
- A backend-ekben és a renderelő motorokban megvalósították a buffer-ek explicit szinkronizálásának támogatását DRM (Direct Rendering Manager) szinkronizáló objektumok segítségével.
- Hozzáadták a Multi-GPU támogatást a képernyőre történő megjelenítéshez, például USB-adapterekhez.
- A közvetlen megjelenítés (direct scanout) megvalósítása a backend-ekben most támogatja a buffer-ek kivágását és átméretezését.
- Optimalizálták a jelenetgrafikon (Scene-graph) műveleteit.
- Megvalósították a Wayland protokollokat:

Forrás: opennet.ru
