Выпуск 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.



Источник: http://www.opennet.ru/opennews/art.shtml? num=57474

© OpenNet