ИздаванС Π½Π° потрСбитСлската срСда Sway 1.11

Π‘Π»Π΅Π΄ 7 мСсСчна Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΈΠ·Π΄Π°Π΄Π΅Π½ Π΅ Ρ€Π΅Π»ΠΈΠ·ΡŠΡ‚ Π½Π° композитния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Sway 1.11, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ построСн с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland ΠΈ Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с мозаичния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ i3 ΠΈ ΠΏΠ°Π½Π΅Π»Π° i3bar. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ написан Π½Π° Π΅Π·ΠΈΠΊ C ΠΈ сС разпространява ΠΏΠΎΠ΄ 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 Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. ОсвСн ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π΅Π·ΠΈΡ†ΠΈ C/C++, сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π·Π° Π΅Π·ΠΈΡ†ΠΈ 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
ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster