Выпуск labwc 0.6, ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ сСрвСра для Wayland

ДоступСн выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° labwc 0.6 (Lab Wayland Compositor), Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΉ сСрвСр для Wayland с возмоТностями, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Openbox (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прСподносится ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° создания Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Openbox для Wayland). Из особСнностСй labwc называСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌ, компактная рСализация, ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности настройки ΠΈ высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv2.

Π’ качСствС основы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° wlroots, развиваСмая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ окруТСния Sway ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Π½Π° Π±Π°Π·Π΅ Wayland. Из Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Wayland-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ wlr-output-management для настройки устройств Π²Ρ‹Π²ΠΎΠ΄Π°, layer-shell для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола ΠΈ foreign-toplevel для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ собствСнных ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠΊΠΎΠ½.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ надстроСк с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠ°ΠΊ созданиС ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ², ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ΅Π² Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ мСню. АнимированныС эффСкты, Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ для ΠΎΠΊΠΎΠ½) Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ. Для запуска X11-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland поддСрТиваСтся использованиС DDX-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° XWayland. Π’Π΅ΠΌΠ° оформлСния, Π±Π°Π·ΠΎΠ²ΠΎΠ΅ мСню ΠΈ горячиС клавиши Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ xml. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° экранов с высокой ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ пиксСлСй (HiDPI).

Выпуск labwc 0.6, ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ сСрвСра для Wayland

Помимо встроСнного ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ мСню, настраиваСмого Ρ‡Π΅Ρ€Π΅Π· menu.xml, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сторонниС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ мСню ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ bemenu, fuzzel ΠΈ wofi. Π’ качСствС ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Waybar, sfwbar, Yambar ΠΈΠ»ΠΈ LavaLauncher. Для управлСния ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ wlr-randr ΠΈΠ»ΠΈ kanshi. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° экрана осущСствляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ swaylock.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ измСнСния Π² Π½ΠΎΠ²ΠΎΠΌ выпускС:

  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ использованиС API Π³Ρ€Π°Ρ„Π° сцСны, прСдоставляСмого Π² wlroots. ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚Ρ€Π°Π·ΠΈΠ»Π°ΡΡŒ Π½Π° отрисовкС, Π΄Π΅ΠΊΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½, мСню ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ экранной ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π½Π° экран ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° Π½Π° использованиС Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² вмСсто тСкстур (структура wlr_texture), Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π°. Π£ΠΏΡ€ΠΎΡ‰Ρ‘Π½ ΠΊΠΎΠ΄ для привязки ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ ΡƒΠ·Π»Π°ΠΌ wlr_scene_nodes. Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… столов.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° использования Ρ€Π°Π·Π½Ρ‹Ρ… языков Π² клиСнтских мСню.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° presentation-time, примСняСмого для отобраТСния Π²ΠΈΠ΄Π΅ΠΎ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСнсорных устройств.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° drm_lease_v1, примСняСмого для формирования стСрСокартинки с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ для Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π³Π»Π°Π·Π° ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° ΡˆΠ»Π΅ΠΌΡ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ для примСнСния Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ указатСля.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ для закрСплСния ΠΎΠΊΠ½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΊΠΎΠ½ ( ToggleAlwaysOnTop).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки osd.border.color ΠΈ osd.border.width для опрСдСлСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ Ρ†Π²Π΅Ρ‚Π° ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ Ρ€Π°ΠΌΠΊΠΈ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки для измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π° Π²Π²ΠΎΠ΄Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ привязки ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ колСсом ΠΌΡ‹ΡˆΠΈ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ‚ΡƒΡ‚ΠΊΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС производится ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ столами).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Π²Π½ΠΎΠΉ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ тСстированиС Π² систСмС Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ сборок для Debian, FreeBSD, Arch ΠΈ Void, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ сборок Π±Π΅Π· xwayland.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° настройки Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΈ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² (для использования Π½Π°ΠΊΠ»ΠΎΠ½Π½Ρ‹Ρ… ΠΈ ΠΆΠΈΡ€Π½Ρ‹Ρ… ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка <core><cycleViewOutlines> для управлСния Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ прСдпросмотра ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΎΠ².
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° отрисовка стрСлок для подмСню. Π’ мСню Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° xdg-desktop-portal-wlr Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… настроСк (Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° инициализация dbus ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· systemd), Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с запуском OBS Studio.



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