เบเบฒเบ™เบ›เปˆเบญเบเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบเปเบฒเบซเบ™เบปเบ”เป€เบญเบ‡ Sway 1.1 เป‚เบ”เบเปƒเบŠเป‰ Wayland

เป„เบ”เป‰เบˆเบฑเบ”เบ‚เบถเป‰เบ™ เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบš เปเบเบง 1.1, เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰เป‚เบ›เป‚เบ•เบ„เบญเบ™ Wayland เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบชเปˆเบงเบ™เบเบฑเบšเบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบเบฐเป€เบšเบทเป‰เบญเบ‡ i3 เปเบฅเบฐเปเบœเบ‡ i3bar. เบซเบ™เบถเปˆเบ‡เบŠเบปเปˆเบงเป‚เบกเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เปˆเบญเบ 1.1.0, เบเบฒเบ™เบ›เปˆเบญเบเบเบฒเบ™เปเบเป‰เป„เบ‚เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ 1.1.1 เบ”เป‰เบงเบเบเบฒเบ™เบฅเบปเบšเบฅเป‰เบฒเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป€เบžเบตเปˆเบกเบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบš wlroots 0.6. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เบ‚เบฝเบ™เป€เบ›เบฑเบ™ C เปเบฅเบฐ เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT. เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™เปเบ™เปƒเบชเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ Linux เปเบฅเบฐ FreeBSD.

เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš i3 เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡, เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐ IPC, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ Sway เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบ—เบตเปˆเป‚เบ›เปˆเบ‡เปƒเบชเบชเปเบฒเบฅเบฑเบš i3, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Wayland เปเบ—เบ™ X11. Sway เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบงเบฒเบ‡เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเปƒเบ™เบซเบ™เป‰เบฒเบˆเปเบšเปเปˆเปเบกเปˆเบ™เบžเบทเป‰เบ™เบ—เบตเปˆ, เปเบ•เปˆเบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™. Windows เบ–เบทเบเบงเบฒเบ‡เป„เบงเป‰เบขเบนเปˆเปƒเบ™เบ•เบฒเบ‚เปˆเบฒเบเป„เบŸเบŸเป‰เบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบˆเปเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเปเบฅเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบขเปˆเบฒเบ‡เป„เบงเบงเบฒเป‚เบ”เบเปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเปเบ›เป‰เบ™เบžเบดเบก.

เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบชเบปเบกเบšเบนเบ™, เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบ•เปเปˆเป„เบ›เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเป€เบซเบ™เบต: เบžเบงเบเป€เบฎเบปเบฒเบเบดเบ™ (เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบทเป‰เบ™เบซเบผเบฑเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ›เบฃเป‚เบ•เบ„เป KDE idle), swaylock (เบ•เบปเบงโ€‹เบ›เบฐโ€‹เบขเบฑเบ”โ€‹เบซเบ™เป‰เบฒโ€‹เบˆเปโ€‹)โ€‹, เบกเบฒเป‚เบ (เบœเบนเป‰โ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™โ€‹เปเบˆเป‰เบ‡โ€‹เบเบฒเบ™โ€‹)โ€‹, เบ‚เบตเป‰เบฎเป‰เบฒเบ (เบ–เปˆเบฒเบเบžเบฒเบšเปœเป‰เบฒเบˆเป), เบฅเบญเบ (เป€เบฅเบทเบญเบเบžเบทเป‰เบ™เบ—เบตเปˆเปƒเบ™เบซเบ™เป‰เบฒเบˆเป), wf-เบšเบฑเบ™เบ—เบถเบ (เบ–เปˆเบฒเบโ€‹เบงเบดโ€‹เบ”เบตโ€‹เป‚เบญโ€‹)โ€‹, เปเบ–เบšเบ—เบฒเบ‡ (เปเบ–เบšโ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹)โ€‹, virtboard (เปเบ›เป‰เบ™โ€‹เบžเบดเบกโ€‹เบซเบ™เป‰เบฒโ€‹เบˆเปโ€‹)โ€‹, wl-clipboard (เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบเบฑเบš clipboardโ€‹)โ€‹, wallutils (เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบฎเบนเบšเบงเปเป€เบ›เป€เบ›เบต desktop).

Sway เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™ modular เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบซเปเบชเบฐเบซเบกเบธเบ” wlroots, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบžเบทเป‰เบ™เบ–เบฒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบš. Wlroots เบ›เบฐเบเบญเบšเบกเบต backends เบชเปเบฒเบฅเบฑเบš
abstraction เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบ™เป‰เบฒเบˆเป, เบญเบธเบ›เบฐเบเบญเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™, เบเบฒเบ™เบชเบฐเปเบ”เบ‡เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเบเบปเบ‡เบเบฑเบš OpenGL, เบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เบเบฑเบš KMS/DRM, libinput, Wayland เปเบฅเบฐ X11 (เบŠเบฑเป‰เบ™เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบฅเปˆเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ X11 เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Xwayland). เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบ Sway, เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” wlroots เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™เปƒเบ™ เป‚เบ„เบ‡เบเบฒเบ™เบญเบทเปˆเบ™เป†เบฅเบงเบกเบ—เบฑเบ‡ Librem5 ะธ cage. เบ™เบญเบเบˆเบฒเบ C/C ++, เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบš Scheme, Common Lisp, Go, Haskell, OCaml, Python เปเบฅเบฐ Rust.

เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆ:

  • เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เป„เบ”เป‰เบ–เบทเบเปเบเบเบญเบญเบเป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ swaybg, เบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบฎเบนเบšเบงเปเป€เบ›เป€เบ›เบต desktop. Swaybg เบšเปเปˆเป„เบ”เป‰เบœเบนเบเบกเบฑเบ”เบเบฑเบš Sway เบญเบตเบเบ•เปเปˆเป„เบ› เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ™เบณเปƒเบŠเป‰เป„เบ”เป‰เบเบฑเบšเบ—เบธเบเป€เบŠเบตเบšเป€เบงเบตเบ‚เบญเบ‡ Wayland composite เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบšเป‚เบ›เบฃเป‚เบ•เบ„เปเบ‚เบฑเป‰เบ™เบชเบนเบ‡
    wlr-layer-shell, xdg-output เปเบฅเบฐ xdg-shell;

  • เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบงเบฒเบกเบšเปเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เบเบฑเบšเบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบ›เปˆเบญเบ‡เบขเป‰เบฝเบก i3;
  • เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบซเบ™เป‰เบฒเบˆเปเบชเปเบฒเบœเบฑเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบเบฐเบ”เบฒเบ™ swaybar (เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบญเบปเบ‡เบ›เบฐเบเบญเบšเป‚เบ”เบเบเบฒเบ™เบชเปเบฒเบœเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบ‚เบตเปˆเบฅเบปเบ”เบ–เบตเบšเบœเปˆเบฒเบ™ desktops เบ”เป‰เบงเบ gesture เป€เบฅเบทเปˆเบญเบ™);
  • swaybar เบ›เบฐเบ•เบดเบšเบฑเบ”เบฎเบนเบšเปเบšเบš "overlay" เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เปเบœเบ‡เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบญเบทเปˆเบ™เป†เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เป€เบซเบ”เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™;
  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ›เบธเปˆเบกเบฅเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ unbind{sym,code,switch}.



เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™