Опубликован релиз пакета 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.
// cc-by opennet.ru
// converted with crypt’s opennet autoreposter
>>> Подробности