Опубліковано реліз пакету wayland-protocols 1.21, що містить набір протоколів і розширень, що доповнюють можливості базового протоколу Wayland і надають можливості, необхідні для побудови композитних серверів та оточень користувача.
Починаючи з випуску 1.21 стадія розвитку протоколів "unstable" замінена на "staging", щоб згладити процес стабілізації протоколів, що пройшли тестування в робочих оточеннях. Усі протоколи послідовно проходять три фази - розробка, тестування та стабілізація. Після завершення стадії розробки протокол поміщається у гілку «staging» і включається до складу набору wayland-protocols, а після завершення тестування переміщується до категорії стабільних. Протоколи з категорії «staging» вже можна застосовувати у композитних серверах та клієнтах, де потрібна пов'язана з ними функціональність. У категорії «staging» заборонено внесення змін, що порушують сумісність, але у разі виявлення проблем та недоробок під час тестування не виключається заміна новою значною версією протоколу або іншим Wayland-розширенням.
У новій версії реалізовано можливість встановлення з використанням системи складання Meson замість autotools. У майбутньому планується повністю припинити підтримку autotools. До категорії staging додано новий протокол xdg-activation, що дозволяє передати фокус між різними поверхнями першого рівня. Наприклад, за допомогою xdg-activation один інтерфейс для запуску програм може передати фокус іншому інтерфейсу або одна програма може переключити фокус на інше. Підтримка xdg-activation вже реалізована для Qt, GTK, wlroots, Mutter та KWin.
В даний час до складу wayland-protocols входять такі стабільні протоколи, в яких забезпечується зворотна сумісність:
- «viewporter» – дозволяє клієнту виконувати дії щодо масштабування та обрізання країв поверхні на стороні сервера.
- "presentation time" - забезпечує відображення відео.
- "xdg-shell" - інтерфейс створення та взаємодії з поверхнями як з вікнами, що дозволяє їх пересувати по екрану, згортати, розгортати, змінювати розмір і т.д.
Протоколи, що тестуються у гілці «staging»:
- "fullscreen-shell" - управління роботою в повноекранному режимі;
- "input-method" - обробка методів введення;
- "idle-inhibit" - блокування запуску скрінсейвера (екранної заставки);
- "input-timestamps" - тимчасові мітки для подій введення;
- "linux-dmabuf" - спільне використання декількох відеокарт за допомогою технології DMABuff;
- "text-input" - організація введення тексту;
- "pointer-gestures" - управління з сенсорних екранів;
- "relative pointer events" - відносні події покажчиків;
- "pointer constraints" - обмеження покажчиків (блокування);
- "Tablet" - підтримка введення з планшетів.
- "xdg-foreign" - інтерфейс взаємодії з поверхнями "сусіднього" клієнта;
- "xdg-decoration" - Відображення декорацій вікон на стороні сервера;
- "xdg-output" - додаткові відомості про відеовихід (використовується для дробового масштабування);
- xwayland-keyboard-grab - захоплення введення в додатках XWayland.
- primary-selection - за аналогією з X11 забезпечує роботу первинного буфера обміну (primary selection), вставка інформації з якого зазвичай здійснюється середньою кнопкою миші;
- linux-explicit-synchronization – специфічний для Linux механізм синхронізації буферів у прив'язці до поверхні.
- xdg-activation — дозволяє передати фокус між різними поверхнями першого рівня (наприклад, за допомогою xdg-activation одна програма може переключити фокус на іншу).
Джерело: opennet.ru