ืžื”ื“ื•ืจืช ืกื‘ื™ื‘ื” ืžื•ืชืืžืช ืื™ืฉื™ืช ืฉืœ Sway 1.4 ื‘ืืžืฆืขื•ืช Wayland

ืžื•ึผื›ึธืŸ ืฉื—ืจื•ืจ ืžื ื”ืœ ืžื•ืจื›ื‘ ืžืชื ื“ื ื“ 1.4 (ืžื”ื“ื•ืจื” 1.3 ืœื ื ื‘ื ืชื”), ื ื‘ื ื” ื‘ืืžืฆืขื•ืช ืคืจื•ื˜ื•ืงื•ืœ Wayland ื•ืชื•ืื ื‘ืื•ืคืŸ ืžืœื ืœืžื ื”ืœ ื”ื—ืœื•ื ื•ืช ื”ืืจื™ื—ื™ื i3 ื•ืคืื ืœ i3bar. ืงื•ื“ ื”ืคืจื•ื™ืงื˜ ื›ืชื•ื‘ ื‘-C ื• ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืชื—ืช ืจื™ืฉื™ื•ืŸ MIT. ื”ืคืจื•ื™ืงื˜ ืžื™ื•ืขื“ ืœืฉื™ืžื•ืฉ ืขืœ ืœื™ื ื•ืงืก ื•- FreeBSD.

ืชืื™ืžื•ืช i3 ืžืกื•ืคืงืช ื‘ืจืžืช ื”ืคืงื•ื“ื”, ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ื•ื”-IPC, ื•ืžืืคืฉืจืช ืœื”ืฉืชืžืฉ ื‘-Sway ื›ืชื—ืœื™ืฃ i3 ืฉืงื•ืฃ ื”ืžืฉืชืžืฉ ื‘-Wayland ื‘ืžืงื•ื X11. Sway ืžืืคืฉืจ ืœืš ืœืžืงื ื—ืœื•ื ื•ืช ืขืœ ื”ืžืกืš ืœื ื‘ืฆื•ืจื” ืžืจื—ื‘ื™ืช, ืืœื ื‘ืื•ืคืŸ ื”ื’ื™ื•ื ื™. ื—ืœื•ื ื•ืช ืžืกื•ื“ืจื™ื ื‘ืจืฉืช ื”ืžื ืฆืœืช ืืช ืฉื˜ื— ื”ืžืกืš ื‘ืฆื•ืจื” ืื•ืคื˜ื™ืžืœื™ืช ื•ืžืืคืฉืจืช ืœืš ืœื‘ืฆืข ืžื ื™ืคื•ืœืฆื™ื” ืžื”ื™ืจื” ืฉืœ ื—ืœื•ื ื•ืช ื‘ืืžืฆืขื•ืช ื”ืžืงืœื“ืช ื‘ืœื‘ื“.

ื›ื“ื™ ืœื™ืฆื•ืจ ืกื‘ื™ื‘ืช ืžืฉืชืžืฉ ืฉืœืžื”, ืžื•ืฆืขื™ื ื”ืจื›ื™ื‘ื™ื ื”ื ืœื•ื•ื™ื ื”ื‘ืื™ื: ืื›ืœื ื• (ืชื”ืœื™ืš ืจืงืข ื”ืžื™ื™ืฉื ืืช ืคืจื•ื˜ื•ืงื•ืœ ื”-Idle KDE), ืกื•ื•ื™ื™ืœื•ืง (ืฉื•ืžืจ ืžืกืš), mako (ืžื ื”ืœ ื”ื•ื“ืขื•ืช), ืงื•ื“ืจ (ืฆื™ืœื•ื ืžืกืš), ืœื’ื™ืžื” (ื‘ื—ื™ืจืช ืื–ื•ืจ ืขืœ ื”ืžืกืš), ืžืงืœื™ื˜ wf (ืฆื™ืœื•ื ื•ื™ื“ืื•), ืกืจื’ืœ ื“ืจืš (ืกืจื’ืœ ื™ื™ืฉื•ืžื™ื), ื•ื™ืจื˜ื‘ื•ืจื“ (ืžืงืœื“ืช ืžืกืš), ืœื•ื— ืœื•ื— wl (ืขื•ื‘ื“ ืขื ื”ืœื•ื—), wallutils (ื ื™ื”ื•ืœ ื˜ืคื˜ื™ื ืฉื•ืœื—ื ื™ื™ื).

Sway ืžืคื•ืชื— ื›ืคืจื•ื™ืงื˜ ืžื•ื“ื•ืœืจื™ ืฉื ื‘ื ื” ืขืœ ื’ื‘ื™ ืกืคืจื™ื™ื” ืฉื•ืจืฉื™ื, ื”ืžื›ื™ืœ ืืช ื›ืœ ื”ืคืจื™ืžื™ื˜ื™ื‘ื™ื ื”ื‘ืกื™ืกื™ื™ื ืœืืจื’ื•ืŸ ืขื‘ื•ื“ืชื• ืฉืœ ืžื ื”ืœ ืžื•ืจื›ื‘. Wlroots ื›ื•ืœืœ backends ืขื‘ื•ืจ
ื”ืคืฉื˜ื” ืฉืœ โ€‹โ€‹ื’ื™ืฉื” ืœืžืกืš, ื”ืชืงื ื™ ืงืœื˜, ืจื™ื ื“ื•ืจ ืœืœื ื’ื™ืฉื” ื™ืฉื™ืจื” ืœ-OpenGL, ืื™ื ื˜ืจืืงืฆื™ื” ืขื KMS/DRM, libinput, Wayland ื•-X11 (ื ื™ืชืŸ ืฉื›ื‘ื” ืœื”ืคืขืœืช ื™ื™ืฉื•ืžื™ X11 ื”ืžื‘ื•ืกืกื™ื ืขืœ Xwayland). ื‘ื ื•ืกืฃ ืœ-Sway, ืกืคืจื™ื™ืช wlroots ื ืžืฆืืช ื‘ืฉื™ืžื•ืฉ ืคืขื™ืœ ื‘ ืคืจื•ื™ืงื˜ื™ื ืื—ืจื™ืืœึฐืจึทื‘ึผื•ึนืช Librem5 ะธ ื›ืœื•ื‘. ื‘ื ื•ืกืฃ ืœ-C/C++, ืคื•ืชื—ื• ื›ืจื™ื›ื•ืช ืขื‘ื•ืจ Scheme, Common Lisp, Go, Haskell, OCaml, Python ื•-Rust.



ื‘ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื”:

  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืคืจื•ื˜ื•ืงื•ืœ VNC ืœื’ื™ืฉื” ืžืจื—ื•ืง ืœืฉื•ืœื—ืŸ ื”ืขื‘ื•ื“ื”. ื”ืขื‘ื•ื“ื” ืžืื•ืจื’ื ืช ื‘ืืžืฆืขื•ืช ืฉื™ืžื•ืฉ ื‘ืฉืจืช wayvnc, ืฉื™ื›ื•ืœ ืœื”ืชื—ื‘ืจ ืœื”ืคืขืœืช ื”ืคืขืœื•ืช ืขื‘ื•ื“ื” ืžื‘ื•ืกืกื•ืช Wayland, ื™ื•ืฆืจ ื”ืชืงืŸ ืงืœื˜ ื•ื™ืจื˜ื•ืืœื™ ื•ืžืฉื“ืจ ืคืœื˜ ืžืกืš ื‘ืืžืฆืขื•ืช ืคืจื•ื˜ื•ืงื•ืœ RFB. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-Wayvnc ื’ื ืœื”ืคืขืœืช ืฉื•ืœื—ื ื•ืช ืขื‘ื•ื“ื” ื•ื™ืจื˜ื•ืืœื™ื™ื ื”ืคื•ืขืœื™ื ืขืœ ืฉืจืชื™ื ืœืœื ืฆื’. ื”ื•ืคืกืงื” ื”ืชืžื™ื›ื” ื‘-backend ืžื‘ื•ืกืก RDP ืฉื”ื•ืฆืข ื‘ืขื‘ืจ.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื—ืœืงื™ืช ืœื”ืคืขืœืช ืฉื•ืจืช ื”ืžืฉื™ืžื•ืช ืฉืคื•ืชื—ื” ืขืœ ื™ื“ื™ ืคืจื•ื™ืงื˜ MATE;
  • ื”ื˜ืžื™ืข ืืช ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืขื™ื›ื•ื‘ื™ื ืœื”ืฆื’ืช ืชื•ื•ื™ื ื‘ืขืช ื”ื›ื ื™ืกื” (ืืคืฉืจื•ื™ื•ืช max_render_time ื•-sway-output);
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืขื™ื‘ื•ื“ ื ืคืจื“ ืฉืœ ืงื‘ื•ืฆื•ืช ืžืงืฉื™ื ื‘ืžืงืœื“ืช (ืขื‘ื•ืจ ืžืงืœื“ื•ืช ืžื™ื•ื—ื“ื•ืช);
  • ื”ืชืžื™ื›ื” ื‘ืคืจื•ื˜ื•ืงื•ืœ ื”ื•ืคืกืงื” xdg-shell v6 (ื”ื’ืจืกื” ื”ืœื ื™ืฆื™ื‘ื” v6 ื›ื‘ืจ ืœื ืจืœื•ื•ื ื˜ื™ืช ืœืื—ืจ ื™ื™ืฆื•ื‘ xdg-shell).

    ืžืงื•ืจ: OpenNet.ru

  • ื”ื•ืกืคืช ืชื’ื•ื‘ื”