După 14 luni de dezvoltare, a fost publicată versiunea 1.9 a managerului compozit Sway, construită folosind protocolul Wayland și complet compatibilă cu managerul de feronerie i3 și panoul i3bar. Codul proiectului este scris în C și este distribuit sub licența MIT. Proiectul este destinat utilizării pe Linux și FreeBSD.
Compatibilitatea cu i3 este asigurată la nivel de comenzi, fișiere de configurare și IPC, permițând utilizarea Sway ca o înlocuire transparentă a i3, folosind Wayland în locul X11. Sway permite plasarea feroneriilor pe ecran nu în mod spațial, ci logic. Feroneriile sunt dispuse, formând o grilă, care optimizează utilizarea spațiului ecranului și permite manipularea rapidă a acestora doar prin intermediul tastaturii.
Pentru a configura un mediu de utilizator complet, sunt oferite componentele adiacente: swayidle (un proces de fundal cu implementarea protocolului KDE idle), swaylock (protector de ecran), mako (manager de notificări), grim (crearea de capturi de ecran), slurp (selectarea unei zone pe ecran), wf-recorder (captura video), waybar (panoul aplicațiilor), virtboard (tastatură pe ecran), wl-clipboard (gestionarea clipboard-ului), wallutils (administrarea imaginilor de fundal pentru desktop).
Sway se dezvoltă ca un proiect modular, construit pe baza bibliotecii wlroots, care include toate primitivele de bază necesare funcționării managerului compozit. Wlroots include backend-uri pentru abstractizarea accesului la ecran, dispozitivele de intrare, randarea fără a apela direct la OpenGL, interacțiunea cu KMS/DRM, libinput, Wayland și X11 (oferind un strat pentru rularea aplicațiilor X11 pe baza Xwayland). În plus față de Sway, biblioteca wlroots este folosită activ și în alte proiecte, inclusiv Librem5 și Cage. Pe lângă C/C++, au fost dezvoltate bind-uri pentru Scheme, Common Lisp, Go, Haskell, OCaml, Python și Rust.
În noua versiune:
- Sunt utilizate noi caracteristici ale bibliotecii wlroots 0.17, cum ar fi suportul pentru protocoalele Wayland content-type-v1 (îmbunătățirea gestionării conținutului afișat), xwayland-shell-v1 (conectarea feroneriei X11 la suprafața Wayland), wp-fractional-scale-v1 (scalare fracționată), security-context-v1 (izolarea sandbox) și cursor-shape-v1 (ajustarea aspectului cursorului).
- Suportul pentru protocolul „xdg-activation-v1” a fost îmbunătățit, permițând transferul focalizării între diferite suprafețe de nivel 1 Wayland (de exemplu, prin intermediul xdg-activation, o aplicație poate schimba focusul pe alta). Noua versiune adaugă suport pentru urmărirea focalizării în contextul birouri virtuale configurațiilor multi-monitor.
- Codul pentru redarea conținutului a fost transformat în noul API de redare furnizat de biblioteca wlroots, ceea ce a permis obținerea unei creșteri a performanței.
- În fișierul de configurare a fost adăugată o setare pentru dezactivarea buffer-ului principal.
- Au fost adăugate noi comenzi de control pentru dispozitivele de intrare, permițând setarea parametrelor RotationAngle și ScrollButtonLock în libinput pentru a rezolva problemele cu touchpad-urile și mausurile.
- A fost adăugat suport pentru utilizarea butoanelor tabletelor pentru redimensionarea ferestrelor plutitoare.
- În IPC a fost adăugat suport pentru evenimente de ieșire.
- Ca meniu-aplicație implicit, este folosit proiectul wmenu.
- Suportul pentru protocolul specific KDE idle a fost oprit, iar în schimb a fost activat protocolul standard Wayland idle-notify-v1.


Sursa: opennet.ro
