Выпуск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ окруТСния Sway 1.11

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

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

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

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

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

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Wayland-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° linux-drm-syncobj-v1 для явной синхронизации Π±ΡƒΡ„Π΅Ρ€ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ опСрация отрисовки Π² Π±ΡƒΡ„Π΅Ρ€ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Wayland-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° alpha-modifier-v1, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ прозрачности повСрхности ΠΈ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ прозрачности Π½Π° сторону ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ сСрвСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра ΠΌΠΎΠ΄ΡƒΠ»ΡŽ KMS.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Wayland-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ext-image-capture-source ΠΈ ext-image-copy-capture для Π·Π°Ρ…Π²Π°Ρ‚Π° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π½Π° экран.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Wayland-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ext-data-control, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°.
  • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ мСТпроцСссного взаимодСйствия (IPC) ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… для контСкстов бСзопасности, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Wayland-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° security-context-v1.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° настройки Π²Ρ‹Π²ΠΎΠ΄Π° для Π±ΠΎΠ»Π΅Π΅ качСствСнного ΠΈ быстрого ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ устройства.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° клавиш управлСния ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ.
  • Π’ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш для Π²Ρ‹Π·ΠΎΠ²Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ pactl, brightnessctl ΠΈ grim.
  • ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ мСню ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° использованиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ wmenu-run ΠΈ большС Π½Π΅ зависит ΠΎΡ‚ скрипта dmenu_path.
  • ЗадСйствованы Π½ΠΎΠ²Ρ‹Π΅ возмоТности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ wlroots 0.19. Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² wlroots:
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Wayland-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹:
      • color-management-v1 (для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ HDR10);
      • ext-image-capture-source-v1 ΠΈ ext-image-copy-capture-v1 (для Π·Π°Ρ…Π²Π°Ρ‚Π° содСрТимого экрана);
      • ext-data-control-v1 (для управлСния Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°);
      • xdg-toplevel-icon-v1 (для привязки своих ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌ);
      • xdg-dialog-v1 (для создания ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½);
      • xdg-system-bell-v1 (для Π²Ρ‹Π²ΠΎΠ΄Π° сигнала);
      • ext-idle-notify-v1 (для отслСТивания активности);
      • presentation-time (для Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ измСнСния частоты обновлСния ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°);
      • wlr-layer-shell-v1.5 (для задания Π³Ρ€Π°Π½ΠΈΡ† ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹Ρ… Π·ΠΎΠ½ Π½Π° экранС).
    • Π’ бэкСндах ΠΈ Π΄Π²ΠΈΠΆΠΊΠ°Ρ… отрисовки Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° явной синхронизации Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² синхронизации DRM (Direct Rendering Manager).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Multi-GPU для устройств Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° экран, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ USB-Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ GUD.
    • РСализация прямого Π²Ρ‹Π²ΠΎΠ΄Π° (direct scanout) Π² бэкСндах Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°Π΄Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ².
    • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π³Ρ€Π°Ρ„ΠΎΠΌ сцСны (Scene-graph).

 Выпуск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ окруТСния Sway 1.11


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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ