Pas 8 muajsh zhvillimi, u publikua versioni 1.10 i menaxherit të kompozitëve Sway, i ndërtuar duke përdorur protokollin Wayland dhe i pajtueshëm me menaxherin e dritareve i3 dhe panelin i3bar. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën MIT. Projekti ka si qëllim përdorimin në Linux dhe FreeBSD.
Sway lejon vendosjen e dritareve në ekran në mënyrë logjike, jo hapësinore. Dritaret organizohen në një grilë, duke shfrytëzuar optimalisht hapësirën e ekranit dhe duke lejuar manipulimin e shpejtë të dritareve vetëm me anë të tastierës. Kompatibiliteti me i3 sigurohet në nivelin e komandave, skedarëve të konfigurimit dhe IPC, duke lejuar që Sway të përdoret si një zëvendësim transparent i i3, duke përdorur Wayland në vend të X11.
Për të krijuar një ambient të plotë përdoruesi, ofrohen komponentë të lidhur: swayidle (procesi prapaskenë me implementimin e modalitetit të pritjes), swaylock (ruajtësi i ekranit), mako (menaxheri i njoftimeve), grim (krijimi i screenshot-eve), slurp (përzgjedhja e zonës në ekran), wf-recorder (captimi i videove), waybar (paneli i aplikacioneve), virtboard (çelësi virtual), wl-clipboard (puna me skedarin përclipboard), wallutils (menaxhimi i sfondit të desktopit).
Sway zhvillohet si një projekt modular, i ndërtuar mbi bibliotekën wlroots, e cila përfshin të gjitha primitive bazë për organizimin e punës së menaxherit të kompozit. Wlroots përfshin backend për abstarmin e qasjes në ekran, pajisjet për input, rendering pa e thirrur drejtpërdrejt OpenGL, ndërveprimin me KMS/DRM, libinput, Wayland dhe X11 (ofrohet një ndërfaqe për të drejtuar aplikacionet X11 mbi Xwayland). Përveç Sway, biblioteka wlroots përdoret aktivisht edhe në projekte të tjera. Përveç mbështetjes për gjuhët C/C++, ofrohen mbulesa për gjuhët Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python dhe Rust.
Në lëshimin e ri:
- Janë angazhuar mundësi të reja të bibliotekës wlroots 0.18, të tilla si mbështetje për protokollet Wayland linux-drm-syncobj-v1, alpha-modifier-v1, ext-foreign-toplevel-list-v1 dhe ext-transient-seat-v1, mundësia e përdorimit të profileve të ngjyrave ICC për API-në grafike Vulkan, mbështetje për operacionin e rivendosjes së GPU-së dhe një API të re rendering, pa ruajtje të gjendjes ndërmjetëse (stateless) që lejon marrjen e informacionit mbi tamponat e pikselëve nga GPU.
- Kodi i rendering-it është rikoduar duke përdorur API-në e Shtuar në wlroots bazuar në grafikën e skenës (scene graph). Vërehet se përmirësimi ka lejuar arritjen e rritjes së performancës.
- ĂshtĂ« siguruar rikthimi i gjendjes pas rivendosjes sĂ« GPU-sĂ«.
- ĂshtĂ« shtuar njĂ« komandĂ« pĂ«r pĂ«rdorimin e profileve ICC pĂ«r pajisjet e daljes.
- Algoritmi i konfigurimit të pajisjeve të daljes është përmirësuar.
- ĂshtĂ« ofruar mundĂ«sia e pĂ«rdorimit tĂ« zgjerimit tĂ« protokollit "tearing-control-v1" pĂ«r tĂ« çaktivizuar nĂ« aplikacionet nĂ« ekran tĂ« plotĂ« sinkronizimin vertikal (VSync) me impulset e ndezjes kulturore, tĂ« aplikuara pĂ«r tĂ« parandaluar shfaqjen e ndarjeve gjatĂ« daljes (tearing). NĂ« aplikacionet multimedia shfaqja e artefakteve pĂ«r shkak tĂ« ndarjeve Ă«shtĂ« njĂ« efekt i padĂ«shiruar, por nĂ« programet lojĂ«ra me artefakte mund tĂ« tolerohet, nĂ«se lufta me to sjell vonesa shtesĂ«.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimin e protokollit "ext-transient-seat-v1" pĂ«r krijimin e seancave tĂ« pĂ«rkohshme tĂ« pavarura (seat), tĂ« dedikuara pĂ«r pĂ«rdorim me pajisje virtuale. PĂ«r shembull, nĂ« aplikacione pĂ«r lidhje nĂ« desktop tĂ« largĂ«t, si klienti VNC wayvn, mund tĂ« krijohet njĂ« seancĂ« e veçantĂ« pĂ«r çdo pĂ«rdorues me tastierĂ« dhe miun virtual.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimin e protokollit "ext-foreign-toplevel-list-v1" pĂ«r marrjen e informacionit mbi sipĂ«rfaqet e vendosura nĂ« nivele mĂ« tĂ« larta (toplevel). Protokolli lejon organizimin e ngjitjes sĂ« dritareve mbi pĂ«rmbajtje tĂ« tjera, pĂ«r shembull, pĂ«r tĂ« realizuar panela dhe ndĂ«rrues dritash.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r versionin e pestĂ« tĂ« protokollit "xdg-shell", i cili ofron mundĂ«si pĂ«r ndryshimin e pozicionit tĂ« dritareve tĂ« ngjitshme dhe realizimin e butonave pĂ«r minimizimin dhe shfaqjen e dritareve gjatĂ« dekorimit tĂ« dritareve nĂ« anĂ«n e klientit (CSD).
- Paketa dmenu_run, e cila lejon përdorimin e dmenu si një ndërfaqe për nisjen e aplikacioneve, është hequr nga listat e varësive në konfigurimin e paracaktuar.
- Në skedarin e konfigurimit të paracaktuar është shtuar përdorimi i pactl për konfigurimin e çelësave të nxehtë për ndryshimin e volumit dhe ndriçimit, si dhe thirrjen e utilitarit grim për të bërë një ekran gjithashtu.
- Mbështetja për protokollin e vjetruar Wayland wl_drm është çaktivizuar nga parazgjedhja, në vend të tij është futur protokolli linux-dmabuf-v1.
- Opsioni i ndërtimit për aktivizimin e mbështetjes për Xwayland është hequr (aktivizimi i Xwayland tani varet nga konfigurimet e ndërtimit të wlroots).

Burimi: opennet.ru
