แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž”แžšแžทแžŸแŸ’แžแžถแž“แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ Sway 1.1 แžŠแŸ„แž™แž”แŸ’แžšแžพ Wayland

แž”แžถแž“แž€แžพแžแžกแžพแž„ แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžขแŸ’แž“แž€แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžŸแž˜แžถแžŸแž’แžถแžแžป แž€แž€ แŸก.แŸฆแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžถแž„แžŸแž„แŸ‹แžŠแŸ„แž™แž”แŸ’แžšแžพแž–แžทแž’แžธแž€แžถแžš Wayland แž“แžทแž„แžแŸ’แžšแžผแžœแž‚แŸ’แž“แžถแž™แŸ‰แžถแž„แž–แŸแž‰แž›แŸแž‰แž‡แžถแž˜แžฝแž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž”แž„แŸ’แžขแžฝแž…แžŠแŸ‚แž›แž˜แžถแž“แž€แŸ’แžšแžกแžถแž€แŸ’แž”แžฟแž„ i3 แž“แžทแž„แž”แž“แŸ’แž‘แŸ‡ i3bar. แž˜แžฝแž™แž˜แŸ‰แŸ„แž„แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ 1.1.0 แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž€แŸ‚แžแž˜แŸ’แžšแžผแžœแžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–แž•แŸ’แžŸแžถแž™ 1.1.1 แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž›แžปแž”แž”แŸ†แž”แžถแžแŸ‹แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŠแŸ‚แž›แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžแžปแžŸแžŠแŸ‚แž›แž˜แžทแž“แž†แž”แž‚แŸ’แž“แžถแž‡แžถแž˜แžฝแž™ wlroots 0.6 แŸ” แž€แžผแžŠแž‚แž˜แŸ’แžšแŸ„แž„แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž‡แžถ C แž“แžทแž„ แž…แŸ‚แž€แž…แžถแž™โ€‹แžŠแŸ„แž™ แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ MIT แŸ” แž‚แž˜แŸ’แžšแŸ„แž„แž“แŸแŸ‡แž˜แžถแž“แž‚แŸ„แž›แž”แŸ†แžŽแž„แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž›แžพ Linux แž“แžทแž„ FreeBSD แŸ”

แž—แžถแž–แž†แž”แž‚แŸ’แž“แžถแžšแž”แžŸแŸ‹ i3 แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แž‡แžผแž“แž“แŸ…แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ แžฏแž€แžŸแžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ แž“แžทแž„แž€แž˜แŸ’แžšแžทแž IPC แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™ Sway แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž‡แžถแž€แžถแžšแž‡แŸ†แž“แžฝแžŸ i3 แžแž˜แŸ’แž›แžถแž—แžถแž–แžŠแŸ‚แž›แž”แŸ’แžšแžพ Wayland แž‡แŸ†แž“แžฝแžŸแžฑแŸ’แž™ X11 แŸ” Sway แžขแž“แžปแž‰แŸ’แž‰แžถแžโ€‹แžฑแŸ’แž™โ€‹แžขแŸ’แž“แž€โ€‹แžŠแžถแž€แŸ‹โ€‹แž”แž„แŸ’แžขแžฝแž…โ€‹แž“แŸ…โ€‹แž›แžพโ€‹แžขแŸแž€แŸ’แžšแž„แŸ‹โ€‹แž˜แžทแž“โ€‹แž˜แŸ‚แž“โ€‹แž‡แžถโ€‹แž›แŸ†แž โ€‹แž‘แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚โ€‹แž‡แžถโ€‹แžกแžผแž‡แžธแžแž›แŸ” แžœแžธแž“แžŠแžผแžแŸ’แžšแžผแžœแž”แžถแž“แžšแŸ€แž”แž…แŸ†แž€แŸ’แž“แžปแž„แž€แŸ’แžšแžกแžถแž…แžแŸ’แžšแž„แŸ’แž‚แžŠแŸ‚แž›แž’แŸ’แžœแžพแžฑแŸ’แž™แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŠแŸแž›แŸ’แžขแž”แŸ’แžšแžŸแžพแžšแž“แŸƒแž‘แŸ†แž แŸ†แžขแŸแž€แŸ’แžšแž„แŸ‹ แž“แžทแž„แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แžšแŸ€แž”แž…แŸ†แž”แž„แŸ’แžขแžฝแž…แž”แžถแž“แž™แŸ‰แžถแž„แž†แžถแž”แŸ‹แžšแž แŸแžŸแžŠแŸ„แž™แž‚แŸ’แžšแžถแž“แŸ‹แžแŸ‚แž”แŸ’แžšแžพแž€แŸ’แžแžถแžšแž…แžปแž…แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แŸ”

แžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž€แžพแžแž”แžšแžทแž™แžถแž€แžถแžŸแžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž–แŸแž‰แž›แŸแž‰ แžŸแž˜แžถแžŸแž’แžถแžแžปแžแžถแž„แž€แŸ’แžšแŸ„แž˜แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แž‡แžผแž“แŸ– แž™แžพแž„โ€‹แž”แžถแž“โ€‹แž‰แŸ‰แžถแŸ† (แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž•แŸ’แž‘แŸƒแžแžถแž„แž€แŸ’แžšแŸ„แž™แžขแž“แžปแžœแžแŸ’แžแž–แžทแž’แžธแž€แžถแžšแž‘แŸ†แž“แŸแžš KDE) swaylock (แž’แžถแžแžปแžšแž€แŸ’แžŸแžถแžขแŸแž€แŸ’แžšแž„แŸ‹), แž˜แŸ‰แžถแž€แžผ (แžขแŸ’แž“แž€แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž€แžถแžšแž‡แžผแž“แžŠแŸ†แžŽแžนแž„), แž€แŸ’แžšแŸ€แž˜แž€แŸ’แžšแŸ† (แžแžแžšแžผแž”แžขแŸแž€แŸ’แžšแž„แŸ‹), แžšแžขแžทแž› (แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแžแŸ†แž”แž“แŸ‹แž“แŸ…แž›แžพแžขแŸแž€แŸ’แžšแž„แŸ‹) wf-แžแž (แžแžแžœแžธแžŠแŸแžขแžผ), แžšแž”แžถแžšแž•แŸ’แž›แžผแžœ (แžšแž”แžถแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธ), แž€แŸ’แžแžถแžšแž”แž“แŸ’แž‘แŸ‡ (แž€แŸ’แžแžถแžšแž…แžปแž…แžขแŸแž€แŸ’แžšแž„แŸ‹), wl-แž€แŸ’แžแžถแžšแžแž˜แŸ’แž”แŸ€แžแžแŸ’แž‘แžถแžŸแŸ‹ (แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™แž€แŸ’แžแžถแžšแžแž˜แŸ’แž”แŸ€แžแžแŸ’แž‘แžถแžŸแŸ‹), wallutils (แž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž•แŸ’แž‘แžถแŸ†แž„แžšแžผแž”แž—แžถแž–แž•แŸ’แž‘แŸƒแžแžป) แŸ”

Sway แž€แŸ†แž–แžปแž„โ€‹แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž”แž„แŸ’แž€แžพแžโ€‹แžกแžพแž„โ€‹แž‡แžถโ€‹แž‚แž˜แŸ’แžšแŸ„แž„โ€‹แž˜แŸ‰แžผแžŒแžปแž›โ€‹แžŠแŸ‚แž›โ€‹แž”แžถแž“โ€‹แžŸแžถแž„แžŸแž„แŸ‹โ€‹แž“แŸ…โ€‹แž›แžพโ€‹แž€แŸ†แž–แžผแž›โ€‹แž”แžŽแŸ’แžŽแžถแž›แŸแž™ wlrootsแžŠแŸ‚แž›แž•แŸ’แž‘แžปแž€แž“แžผแžœแž”แžปแž–แŸ’แžœแž แŸแžแžปแž‡แžถแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžถแŸ†แž„แžขแžŸแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžšแŸ€แž”แž…แŸ†แž€แžถแžšแž„แžถแžšแžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžŸแž˜แžถแžŸแž’แžถแžแžปแŸ” Wlroots แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž› backends แžŸแž˜แŸ’แžšแžถแž”แŸ‹
แžขแžšแžผแž”แžธแž“แŸƒแž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžขแŸแž€แŸ’แžšแž„แŸ‹ แžงแž”แž€แžšแžŽแŸแž”แž‰แŸ’แž…แžผแž› แž€แžถแžšแž”แž„แŸ’แž แžถแž‰แžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แž€แžถแžšแž…แžผแž›แžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹แž‘แŸ…แž€แžถแž“แŸ‹ OpenGL แžขแž“แŸ’แžแžšแž€แž˜แŸ’แž˜แž‡แžถแž˜แžฝแž™ KMS/DRM, libinput, Wayland แž“แžทแž„ X11 (แžŸแŸ’แžšแž‘แžถแž”แŸ‹แž˜แžฝแž™แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธ X11 แžŠแŸ„แž™แž•แŸ’แžขแŸ‚แž€แž›แžพ Xwayland)แŸ” แž”แž“แŸ’แžแŸ‚แž˜แž–แžธแž›แžพ Sway แž”แžŽแŸ’แžŽแžถแž›แŸแž™ wlroots แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž™แŸ‰แžถแž„แžŸแž€แž˜แŸ’แž˜แž“แŸ…แž€แŸ’แž“แžปแž„ แž‚แž˜แŸ’แžšแŸ„แž„แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแŸ”แžšแžฝแž˜แž‘แžถแŸ†แž„แŸ” แž›แžธแž”แžšแŸ‰แŸแž˜ แŸฅ ะธ แž‘แŸ’แžšแžปแž„. แž”แž“แŸ’แžแŸ‚แž˜แž–แžธแž›แžพ C/C++ แž€แžถแžšแž…แž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Scheme, Common Lisp, Go, Haskell, OCaml, Python แž“แžทแž„ Rust แŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžแŸ’แž˜แžธ:

  • แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ†แž”แŸ‚แž€แž‘แŸ…แž‡แžถแž‚แž˜แŸ’แžšแŸ„แž„แžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แž˜แžฝแž™แŸ” swaybgแžšแž…แž“แžถแžกแžพแž„แžŠแžพแž˜แŸ’แž”แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž•แŸ’แž‘แžถแŸ†แž„แžšแžผแž”แž—แžถแž–แž•แŸ’แž‘แŸƒแžแžปแŸ” Swaybg แž›แŸ‚แž„แž‡แžถแž”แŸ‹แž‡แžถแž˜แžฝแž™ Sway แž แžพแž™แžขแžถแž…แž”แŸ’แžšแžพแž‡แžถแž˜แžฝแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž•แŸ’แžŸแŸ† Wayland แžŠแŸ‚แž›แž‚แžถแŸ†แž‘แŸ’แžšแž–แžทแž’แžธแž€แžถแžšแž€แž˜แŸ’แžšแžทแžแžแŸ’แž–แžŸแŸ‹
    wlr-layer-shell, xdg-output แž“แžทแž„ xdg-shell;

  • แž€แžถแžšแž„แžถแžšแžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแžกแžพแž„แžŠแžพแž˜แŸ’แž”แžธแž›แžปแž”แž”แŸ†แž”แžถแžแŸ‹แž—แžถแž–แž˜แžทแž“แž†แž”แž‚แŸ’แž“แžถแž‡แžถแž˜แžฝแž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž”แž„แŸ’แžขแžฝแž… i3 แŸ”
  • แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžขแŸแž€แŸ’แžšแž„แŸ‹แž”แŸ‰แŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ…แž”แž“แŸ’แž‘แŸ‡ swaybar (แž’แŸ’แžœแžพแžฑแŸ’แž™แž’แžถแžแžปแžŸแž€แž˜แŸ’แž˜แžŠแŸ„แž™แž€แžถแžšแž”แŸ‰แŸ‡ แž“แžทแž„แž‡แžทแŸ‡แž€แž„แŸ‹แžแžถแž˜แžšแž™แŸˆแž•แŸ’แž‘แŸƒแžแžปแžŠแŸ„แž™แž”แŸ’แžšแžพแž€แžถแž™แžœแžทแž€แžถแžšแžšแžขแžทแž›);
  • swaybar แžขแž“แžปแžœแžแŸ’แžแžšแž”แŸ€แž” "แžแŸ’แžšแžฝแžแž›แžพแž‚แŸ’แž“แžถ" แžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž แžถแž‰แž”แž“แŸ’แž‘แŸ‡แž“แŸ…แž›แžพแž€แŸ†แž–แžผแž›แž“แŸƒแž”แž„แŸ’แžขแžฝแž…แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžŠแŸ„แž™แž˜แžทแž“แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž–แŸ’แžšแžนแžแŸ’แžแžทแž€แžถแžšแžŽแŸแž”แž‰แŸ’แž…แžผแž›แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แžทแž‘แž•แŸ’แž›แžผแžœแž€แžถแžแŸ‹แž€แŸ’แžแžถแžšแž…แžปแž…แžŠแŸ„แž™แž”แŸ’แžšแžพแž€แžถแžšแž€แŸ†แžŽแžแŸ‹ unbind{sym,code,switch}แŸ”



แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹