Выпуск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ окруТСния Sway 1.7, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Wayland

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Sway 1.7, построСнного с использованиСм ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстимого с ΠΌΠΎΠ·Π°ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ i3 ΠΈ панСлью i3bar. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° использованиС Π² Linux ΠΈ FreeBSD.

Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с i3 обСспСчСна Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ IPC, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sway Π² качСствС ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ i3, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ Wayland вмСсто X11. Sway позволяСт Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΎΠΊΠ½Π° Π½Π° экранС Π½Π΅ пространствСнно, Π° логичСски. Окна Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ, образуя сСтку, ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΡƒΡŽ экранноС пространство ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ быстро ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΊΠ½Π°ΠΌΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

Для обустройства ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ окруТСния ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: swayidle (Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° KDE idle), swaylock (Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒ экрана), mako (ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ), grim (созданиС ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ²), slurp (Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ области Π½Π° экранС), wf-recorder (Π·Π°Ρ…Π²Π°Ρ‚ Π²ΠΈΠ΄Π΅ΠΎ), waybar (панСль ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ), virtboard (экранная ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°), wl-clipboard (Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°), wallutils (ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ обоями Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола).

Sway развиваСтся ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, построСнный ΠΏΠΎΠ²Π΅Ρ€Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ wlroots, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ вынСсСны всС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°. Wlroots Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ бэкСнды для абстрагирования доступа ΠΊ экрану, устройствам Π²Π²ΠΎΠ΄Π°, отрисовки Π±Π΅Π· прямого обращСния ΠΊ OpenGL, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ с KMS/DRM, libinput, Wayland ΠΈ X11 (прСдоставляСтся прослойка для запуска X11-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Xwayland). Помимо Sway Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° wlroots Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Librem5 ΠΈ Cage. ΠšΡ€ΠΎΠΌΠ΅ Π‘ΠΈ/Π‘++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ для Scheme, Common Lisp, Go, Haskell, OCaml, Python ΠΈ Rust.

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС:

  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСмСщСния Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΌΡ‹ΡˆΡŒΡŽ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡˆΠ»Π΅ΠΌΡ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «output render_bit_depth» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ½Π³Π° с высокой Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ Ρ†Π²Π΅Ρ‚Π°.
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° полноэкранных ΠΎΠΊΠΎΠ½ (ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ dmabuf обСспСчСн прямой Π²Ρ‹Π²ΠΎΠ΄ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ).
  • ЗадСйствован ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» xdg-activation-v1, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ фокус ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ повСрхностями ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ xdg-activation ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ фокус Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция client.focused_tab_title для настройки Ρ†Π²Π΅Ρ‚Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «output modeline» для выставлСния собствСнного Ρ€Π΅ΠΆΠΈΠΌΠ° DRM (Direct Rendering Manager).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «output dpms toggle» для упрощСния гашСния экрана ΠΈΠ· скриптов. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «gaps <type> <scope> toggle <px>», «smart_gaps inverse_outer» ΠΈ «split none».
  • Π£Π΄Π°Π»Π΅Π½Π° опция «—my-next-gpu-wont-be-nvidia», вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слудСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ «—unsupported-gpu». ΠŸΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ NVIDIA ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Π² настройках ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ эмлуятор Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π·Π°ΠΌΠ΅Π½Ρ‘Π½ Π½Π° foot.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»ΠΈ swaybar ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² swaynag Π²ΠΎ врСмя сборки.
  • Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ динамичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ высоты Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° Π² зависимости ΠΎΡ‚ символов Π² тСкстС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всСгда ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ высоту.

Выпуск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ окруТСния Sway 1.7, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Wayland


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru