Выпуск Wayland-Protocols 1.26

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° wayland-protocols 1.26, содСрТащСго Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… возмоТности Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… возмоТности, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для построСния ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Ρ… сСрвСров ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ.

ВсС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ проходят Ρ‚Ρ€ΠΈ Ρ„Π°Π·Ρ‹ β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, тСстированиС ΠΈ стабилизация. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (катСгория Β«unstableΒ») ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» помСщаСтся Π² Π²Π΅Ρ‚ΠΊΡƒ Β«stagingΒ» ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² состав Π½Π°Π±ΠΎΡ€Π° wayland-protocols, Π° послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ тСстирования пСрСмСщаСтся Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ…. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΈΠ· ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Β«stagingΒ» ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Ρ… сСрвСрах ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…, Π³Π΄Π΅ трСбуСтся связанная с Π½ΠΈΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Β«unstableΒ» Π² Β«stagingΒ» Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΡ… ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, Π½ΠΎ Π² случаС выявлСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² Ρ…ΠΎΠ΄Π΅ тСстирования, Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π·Π°ΠΌΠ΅Π½Π° Π½ΠΎΠ²ΠΎΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ вСрсиСй ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Wayland-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии:

  • Π’ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ Β«stagingΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» single-pixel-buffer, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΡƒΡ„Π΅Ρ€Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ 32-разрядных значСния RGBA. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° viewporter ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Π΅ сСрвСры ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΡƒΡ„Π΅Ρ€Ρ‹ для создания ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… Ρ†Π²Π΅Ρ‚Π½Ρ‹Ρ… повСрхностСй ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.
  • Π’ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ xdg_shell, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ интСрфСйс для взаимодСйствия с повСрхностями ΠΊΠ°ΠΊ с ΠΎΠΊΠ½Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ повСрхности ΠΏΠΎ экрану, ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ, Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Ρ‚.Π΄., Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Ρ… сСрвСров, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… лишь Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… Π² xdg_shell ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ управлСния ΠΎΠΊΠ½Π°ΠΌΠΈ. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ свСдСний ΠΎ доступных Π² ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠΌ сСрвСрС возмоТностСй ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ событиС wm_capabilities.
  • Π’ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ text-input пСрСписаны Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡˆΠΈΠ΅ ΠΊ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²ΠΊΠ΅, ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΡ ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌΠΎΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ.
  • ΠŸΡ€Π΅Π΄ΠΏΠΈΡΠ°Π½ΠΎ использованиС Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π² RFC 2119.

Π’ настоящСС врСмя Π² состав wayland-protocols входят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… обСспСчиваСтся обратная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ:

  • Β«viewporterΒ» β€” позволяСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствия ΠΏΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΎΠ±Ρ€Π΅Π·Π°Π½ΠΈΡŽ ΠΊΡ€Π°Ρ‘Π² повСрхности Π½Π° сторонС сСрвСра.
  • Β«presentation-timeΒ» β€” обСспСчиваСт ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ.
  • Β«xdg-shellΒ» β€” интСрфСйс создания ΠΈ взаимодСйствия с повСрхностями ΠΊΠ°ΠΊ с ΠΎΠΊΠ½Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠΏΠΎ экрану, ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ, Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Ρ‚.Π΄.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, тСстируСмыС Π² Π²Π΅Ρ‚ΠΊΠ΅ Β«stagingΒ»:

  • drm-lease β€” прСдоставляСт рСсурсы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для формирования стСрСокартинки с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ для Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π³Π»Π°Π·Π° ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° ΡˆΠ»Π΅ΠΌΡ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Β«ext-session-lockΒ» β€” опрСдСляСт срСдства Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ сСанса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ хранитСля экрана ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
  • Β«single-pixel-bufferΒ» β€” позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΡƒΡ„Π΅Ρ€Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ 32-разрядных значСния RGBA.
  • Β«xdg-activationΒ» β€” позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ фокус ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ повСрхностями ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ xdg-activation ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ фокус Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅).

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π² Π²Π΅Ρ‚ΠΊΠ΅ Β«unstableΒ»:

  • Β«fullscreen-shellΒ» β€” ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Π² полноэкранном Ρ€Π΅ΠΆΠΈΠΌΠ΅.
  • Β«input-methodΒ» β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Π²ΠΎΠ΄Π°.
  • Β«idle-inhibitΒ» β€” Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° запуска скринсСйвСра (экранной заставки).
  • Β«input-timestampsΒ» β€” Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ для событий Π²Π²ΠΎΠ΄Π°.
  • Β«keyboard-shortcuts-inhibitΒ» β€” ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΈ горячих клавиш.
  • Β«linux-dmabufΒ» β€” совмСстноС использованиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ DMABuff.
  • Β«linux-explicit-synchronizationΒ» β€” спСцифичный для Linux ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ синхронизации Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² Π² привязкС ΠΊ повСрхности.
  • Β«pointer-gesturesΒ» β€” ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ с сСнсорных экранов.
  • Β«pointer constraintsΒ» β€” ограничСния ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ (Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°).
  • Β«primary-selectionΒ» β€” ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с X11 обСспСчиваСт Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π° (primary selection), вставка ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ осущСствляСтся срСднСй ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ.
  • Β«relative pointer eventsΒ» β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ события ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • Β«tabletΒ» β€” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π²ΠΎΠ΄Π° с ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ².
  • Β«text-inputΒ» β€” организация Π²Π²ΠΎΠ΄Π° тСкста.
  • Β«xdg-foreignΒ» β€” интСрфСйс взаимодСйствия с повСрхностями «сосСднСго» ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.
  • Β«xdg-decorationΒ» β€” отрисовка Π΄Π΅ΠΊΠΎΡ€Π°Ρ†ΠΈΠΉ ΠΎΠΊΠΎΠ½ Π½Π° сторонС сСрвСра.
  • Β«xdg-outputΒ» β€” Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ²Ρ‹Ρ…ΠΎΠ΄Π΅ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ).
  • Β«xwayland-keyboard-grabΒ» β€” Π·Π°Ρ…Π²Π°Ρ‚ Π²Π²ΠΎΠ΄Π° Π² прилоТСниях XWayland.

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

author avatar
ProHoster ΠšΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Π½Ρ‚, ВСхничСский спСциалист
A technical specialist at ProHoster with over six years of experience in server administration, VPN solutions, and network security. I manage infrastructure setup and support, monitor service stability, and implement solutions to protect client data. I also contribute to performance optimization and compliance with modern security and privacy requirements.

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