Pärast 7 kuu arendustööd on välja antud Sway 1.11 komposiitide halduri versioon, mis on loodud kasutades Waylandi protokolli ja on ühilduv i3 mosaiikakna halduriga ning i3bari paneeliga. Projekti kood on kirjutatud C keeles ja levitatakse MIT litsentsi alusel. Projekt on suunatud kasutamiseks Linuxis ja FreeBSD-s.
Sway võimaldab aknaid ekraanil paigutada mitte ruumiliselt, vaid loogiliselt. Aknaid paigutatakse, moodustades võrgu, mis optimaalselt kasutab ekraanipinda ja võimaldab akende kiiret juhtimist ainult klaviatuuri abil. Ühilduvus i3-ga on tagatud käskude, konfiguratsioonifailide ja IPC tasemel, mis võimaldab kasutada Sway-d nagu läbipaistvat asendajat i3-le, kasutades Waylandi asemel X11.
Täieliku kasutajakogemuse loomiseks pakuvad järgmised komponentid: swayidle (taustaprotsess ooterežiimi rakendamiseks), swaylock (ekraani hoidja), mako (teavituste haldur), grim (ekraaninäidise loomine), slurp (valiku loomine ekraanil), wf-recorder (video salvestamine), waybar (rakenduste paneel), virtboard (ekraanipaneel), wl-clipboard (vahemälu haldamine), wallutils (töölaua taustapiltide haldamine).
Sway areneb modulaarse projektina, mis on ehitatud wlroots teegi peale, kuhu on koondatud kõik põhilised primitiivid komposiitmenedžeri töö korraldamiseks. Wlroots sisaldab tagasiviimiseid ekraanide, sisendseadmete juurde, renderdamiseks ilma otsese OpenGL-i kasutamiseta, interaktsiooniks KMS/DRM, libinput, Waylandi ja X11-iga (pakub kihti X11 rakenduste käitamiseks Xwaylandi baasil). Lisaks Sway’le kasutatakse wlroots teeki aktiivselt ka teistes projektides. Lisaks C/C++ keelte toetusele on saadaval positiivsed raamistikud ka Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python ja Rust keelte jaoks.
Uues väljaandes:
- Lisandatud toetus Waylandi protokolli linux-drm-syncobj-v1 jaoks, mis võimaldab selget puhversünkroniseerimist, tagades, et puhverrenderdamise operatsioon on lõpetatud enne, kui komposiitmenüü seda puhversi kuvatakse.
- Lisandatud toetus Waylandi protokolli alpha-modifier-v1, mis võimaldab klientidel muuta pinna läbipaistvuse taset ja teha läbipaistvuse tagamiseks vajalikud toimingud komposiitmenüüs. serverile, mis omakorda võib need toimingud suunata töötavale kernelitaseme KMS moodulile.
- Lisandatud toetus Waylandi protokollidele ext-image-capture-source ja ext-image-copy-capture ekraanil kuvatava sisu jäädvustamiseks.
- Lisandatud toetus Waylandi protokollile ext-data-control, mis võimaldab privileegidega klientidel hallata andmete töötlemist, näiteks lõikepinnmanagerite rakendamiseks.
- IPC mehhanismi on integreeritud metainformatsiooni tugi turvakontekstide jaoks, rakendades Waylandi protokolli security-context-v1.
- Väljundi seadistamise loogikat on parandatud, et tagada kvaliteetsem ja kiirem tagasipöördumine teistele seadmetele.
- Lisandatud toetus kursoriklahvidele.
- Vaikimisi konfiguratsioonifaili on lisatud otseteed tööriistadele pactl, brightnessctl ja grim.
- Eelistatud vaikimisi menüü on tõlgitud wmenu-run tööriista kasutamiseks ja ei sõltu enam skriptist dmenu_path.
- Uued võimalused on aktiveeritud teegis wlroots 0.19. Muudatused wlrootsis sisaldavad:
- Realiseeritud on Waylandi protokollid:
- color-management-v1 (HDR10 toe jaoks);
- ext-image-capture-source-v1 ja ext-image-copy-capture-v1 (ekraani sisu haaramiseks);
- ext-data-control-v1 (vahemälu haldamiseks);
- xdg-toplevel-icon-v1 (oma ikoonide sidumiseks);
- xdg-dialog-v1 (kohanustatud dialooge loomiseks);
- xdg-system-bell-v1 (signaali esitamiseks);
- ext-idle-notify-v1 (aktiivsuse jälgimiseks);
- presentation-time (ekraani värskendussageduse kohandamiseks);
- wlr-layer-shell-v1.5 (ekraanil eksklusiivsete alade piiride määramiseks).
- Backendides ja renderdamismootorites on rakendatud puhaste proovide sünkroniseerimise tuge DRM (Direct Rendering Manager) sünkroniseerimisobjektide kaudu.
- Lisatud on Multi-GPU tugi ekraaniseadmete jaoks, nagu USB-adapterid GUD.
- Otsese väljundi (direct scanout) rakendamine backendides toetab nüüd puhversüsteemide kärpimist ja suurendamist.
- Scene-graph'i operatsioonid on optimeeritud.
- Realiseeritud on Waylandi protokollid:

Allikas: opennet.ru
