Wayland рд╡рд╛рдкрд░реВрди Sway 1.7 рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреЗ рдкреНрд░рдХрд╛рд╢рди

рдХрдВрдкреЛрдЭрд┐рдЯ рдореЕрдиреЗрдЬрд░ рд╕реНрд╡реЗ 1.7 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рд╡реЗрд▓рдБрдб рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░реВрди рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ i3 рдореЛрдЬрд╝реЗрдХ рд╡рд┐рдВрдбреЛ рдореЕрдиреЗрдЬрд░ рдЖрдгрд┐ i3bar рдкреЕрдиреЗрд▓рд╢реА рдкреВрд░реНрдгрдкрдгреЗ рд╕реБрд╕рдВрдЧрдд рдЖрд╣реЗ. рдкреНрд░рдХрд▓реНрдк рдХреЛрдб C рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ MIT рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рд▓рд┐рдирдХреНрд╕ рдЖрдгрд┐ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╡рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдиреЗ рдЖрд╣реЗ.

i3 рд╕реБрд╕рдВрдЧрддрддрд╛ рдХрдорд╛рдВрдб, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рдЖрдгрд┐ IPC рд╕реНрддрд░рд╛рд╡рд░ рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЬрд╛рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ Sway рд▓рд╛ рдкрд╛рд░рджрд░реНрд╢рдХ i3 рдмрджрд▓рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдорд┐рд│рддреЗ рдЬреА X11 рдРрд╡рдЬреА Wayland рд╡рд╛рдкрд░рддреЗ. рд╕реНрд╡реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдХреНрд░реАрдирд╡рд░ рдЦрд┐рдбрдХреНрдпрд╛ рдЕрд╡рдХрд╛рд╢реАрдп рдирд╡реНрд╣реЗ рддрд░ рддрд╛рд░реНрдХрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рдареЗрд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. рд╡рд┐рдВрдбреЛрдЬ рдПрдХрд╛ рдЧреНрд░рд┐рдбрдордзреНрдпреЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЬреЗ рд╕реНрдХреНрд░реАрди рд╕реНрдкреЗрд╕рдЪрд╛ рдЗрд╖реНрдЯрддрдо рд╡рд╛рдкрд░ рдХрд░рддреЗ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдХреАрдмреЛрд░реНрдб рд╡рд╛рдкрд░реВрди рд╡рд┐рдВрдбреЛрдордзреНрдпреЗ рджреНрд░реБрддрдкрдгреЗ рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.

рд╕рдВрдкреВрд░реНрдг рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЦрд╛рд▓реАрд▓ рд╕реЛрдмрддрдЪреЗ рдШрдЯрдХ рджрд┐рд▓реЗ рдЬрд╛рддрд╛рдд: swayidle (KDE рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгрд╛рд░реА рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдкреНрд░рдХреНрд░рд┐рдпрд╛), swaylock (рд╕реНрдХреНрд░реАрди рд╕реЗрд╡реНрд╣рд░), mako (рд╕реВрдЪрдирд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ), рдЧреНрд░рд┐рдо (рд╕реНрдХреНрд░реАрдирд╢реЙрдЯреНрд╕ рддрдпрд╛рд░ рдХрд░рдгреЗ), рд╕реНрд▓рд░реНрдк (рдПрдЦрд╛рджреЗ рдХреНрд╖реЗрддреНрд░ рдирд┐рд╡рдбрдгреЗ) рд╕реНрдХреНрд░реАрдирд╡рд░), рдбрдмреНрд▓реНрдпреВрдПрдл-рд░реЗрдХреЙрд░реНрдбрд░ (рд╡реНрд╣рд┐рдбрд┐рдУ рдХреЕрдкреНрдЪрд░), рд╡реЗрдмрд╛рд░ (рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╛рд░), рд╡реНрд╣рд░реНрдЯрдмреЛрд░реНрдб (рдСрди-рд╕реНрдХреНрд░реАрди рдХреАрдмреЛрд░реНрдб), рдбрдмреНрд▓реНрдпреВрдПрд▓-рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб (рдХреНрд▓рд┐рдкрдмреЛрд░реНрдбрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ), рд╡реЙрд▓реНрдпреБрдЯрд┐рд▓реНрд╕ (рдбреЗрд╕реНрдХрдЯреЙрдк рд╡реЙрд▓рдкреЗрдкрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ).

рд╕реНрд╡реЗ рд╣реЗ wlroots рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдореЙрдбреНрдпреВрд▓рд░ рдкреНрд░рдХрд▓реНрдк рдореНрд╣рдгреВрди рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рдВрдорд┐рд╢реНрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рдЪреЗ рдХрд╛рд░реНрдп рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡ рдореВрд▓рднреВрдд рдкреНрд░рд╛рдердорд┐рдХ рдЧреЛрд╖реНрдЯреА рдЖрд╣реЗрдд. Wlroots рдордзреНрдпреЗ рд╕реНрдХреНрд░реАрдирд╡рд░ рдНрдмреНрд╕реНрдЯреНрд░реЕрдХреНрдЯ рдНрдХреНрд╕реЗрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмреЕрдХрдПрдВрдбреНрд╕, рдЗрдирдкреБрдЯ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕, рдереЗрдЯ OpenGL рдНрдХреНрд╕реЗрд╕ рди рдХрд░рддрд╛ рд░реЗрдВрдбрд░рд┐рдВрдЧ, KMS/DRM, libinput, Wayland рдЖрдгрд┐ X11 (Xwayland рд╡рд░ тАЛтАЛрдЖрдзрд╛рд░рд┐рдд X11 рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕реНрддрд░ рдкреНрд░рджрд╛рди рдХреЗрд▓рд╛ рдЬрд╛рддреЛ) рдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реЛрддреЛ. рд╕реНрд╡реЗ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, wlroots рд▓рд╛рдпрдмреНрд░рд░реА Librem5 рдЖрдгрд┐ Cage рд╕рд╣ рдЗрддрд░ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ. C/C++ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдпреЛрдЬрдирд╛, Common Lisp, Go, Haskell, OCaml, Python рдЖрдгрд┐ Rust рд╕рд╛рдареА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд.

рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рдирд╛рдд:

  • рдорд╛рдКрд╕рд╕рд╣ рдЯреЕрдм рд╣рд▓рд╡рд┐рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЖрд╣реЗ.
  • рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд░рд┐рдЕреЕрд▓рд┐рдЯреА рд╣реЗрдбрд╕реЗрдЯрд╕рд╛рдареА рдЖрдЙрдЯрдкреБрдЯрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рд╣рд╛рдп рдмрд┐рдЯ рдбреЗрдкреНрде рдХрдВрдкреЛрдЭрд┐рдЯрд┐рдВрдЧ рдореЛрдб рдЖрдЙрдЯрдкреБрдЯ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "рдЖрдЙрдЯрдкреБрдЯ рд░реЗрдВрдбрд░_рдмрд┐рдЯ_рдбреЗрдкреНрде" рдХрдорд╛рдВрдб рдЬреЛрдбрд▓реА.
  • рдкреВрд░реНрдг-рд╕реНрдХреНрд░реАрди рд╡рд┐рдВрдбреЛрдЪреНрдпрд╛ рдЖрдЙрдЯрдкреБрдЯрдЪреА рд╕реБрдзрд╛рд░рд┐рдд рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди (dmabuf рд╡рд╛рдкрд░реВрди, рдЕрддрд┐рд░рд┐рдХреНрдд рдмрдлрд░рд┐рдВрдЧрд╢рд┐рд╡рд╛рдп рдереЗрдЯ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ).
  • xdg-activation-v1 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдердо-рд╕реНрддрд░реАрдп рдкреГрд╖реНрдарднрд╛рдЧрд╛рдВрджрд░рдореНрдпрд╛рди рдлреЛрдХрд╕ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, xdg-activation рд╡рд╛рдкрд░реВрди, рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреБрд╕рд░реНтАНрдпрд╛рд╡рд░ рдлреЛрдХрд╕ рд╕реНрд╡рд┐рдЪ рдХрд░реВ рд╢рдХрддреЛ).
  • рд╕рдХреНрд░рд┐рдп рдЯреЕрдмрдЪрд╛ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА client.focused_tab_title рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛.
  • рддреБрдордЪрд╛ рд╕реНрд╡рддрдГрдЪрд╛ DRM (рдбрд╛рдпрд░реЗрдХреНрдЯ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдореЕрдиреЗрдЬрд░) рдореЛрдб рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "рдЖрдЙрдЯрдкреБрдЯ рдореЙрдбреЗрд▓рд▓рд╛рдЗрди" рдХрдорд╛рдВрдб рдЬреЛрдбрд▓реА.
  • рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреВрди рд╕реНрдХреНрд░реАрди рд░рд┐рдХреНрдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "рдЖрдЙрдЯрдкреБрдЯ dpms рдЯреЙрдЧрд▓" рдХрдорд╛рдВрдб рдЬреЛрдбрд▓реА. "рдЧреЕрдкреНрд╕" рдХрдорд╛рдВрдб рджреЗрдЦреАрд▓ рдЬреЛрдбрд▓реЗ рдЯреЙрдЧрд▓ ", "smart_gaps inverse_outer" рдЖрдгрд┐ "split none".
  • "--my-next-gpu-wont-be-nvidia" рдкрд░реНрдпрд╛рдп рдХрд╛рдвреВрди рдЯрд╛рдХрд▓рд╛ рдЖрд╣реЗ, рддреЛ "--unsupported-gpu" рдореЛрдбрдиреЗ рдмрджрд▓рд▓рд╛ рдЖрд╣реЗ. рдкреНрд░реЛрдкреНрд░рд╛рдпрдЯрд░реА NVIDIA рдбреНрд░рд╛рдЗрд╡реНрд╣рд░реНрд╕ рдЕрджреНрдпрд╛рдк рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реАрдд.
  • рдбреАрдлреЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░ рдкрд╛рдпрд╛рдиреЗ рдмрджрд▓рд▓реЗ рдЖрд╣реЗ.
  • рдмрд┐рд▓реНрдб рджрд░рдореНрдпрд╛рди swaybar рдЖрдгрд┐ swaynag рд╕рдВрд╡рд╛рдж рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХреЗрд▓реА.
  • рд╢реАрд░реНрд╖рдХ рдордЬрдХреВрд░рд╛рддреАрд▓ рд╡рд░реНрдгрд╛рдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рд╡рд┐рдВрдбреЛ рд╢реАрд░реНрд╖рдХрд╛рдЪреА рдЙрдВрдЪреА рдбрд╛рдпрдиреЕрдорд┐рдХрд░рд┐рддреНрдпрд╛ рдмрджрд▓рдгреНрдпрд╛рд╕ рдордирд╛рдИ рдЖрд╣реЗ; рд╢реАрд░реНрд╖рдХрд╛рдЪреА рдЖрддрд╛ рдиреЗрд╣рдореАрдЪ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЙрдВрдЪреА рдЕрд╕рддреЗ.

Wayland рд╡рд╛рдкрд░реВрди Sway 1.7 рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреЗ рдкреНрд░рдХрд╛рд╢рди


рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛