Обявен е релиз на пакета 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
