Se ha publicado la versión del paquete wayland-protocols 1.21, que contiene un conjunto de protocolos y extensiones que complementan las capacidades del protocolo base Wayland y proporcionan las funcionalidades necesarias para construir servidores compuestos y entornos de usuario.
A partir de la versión 1.21, la fase de desarrollo de los protocolos «unstable» ha sido reemplazada por «staging», para suavizar el proceso de estabilización de los protocolos que han sido probados en entornos de trabajo. Todos los protocolos pasan secuencialmente por tres fases: desarrollo, prueba y estabilización. Una vez completada la fase de desarrollo, el protocolo se coloca en la rama «staging» y se incluye en el conjunto de wayland-protocols, y después de completar las pruebas se mueve a la categoría estable. Los protocolos de la categoría «staging» ya se pueden utilizar en compuestos como en entornos de nube públicos o privados. y clientes donde se requiere funcionalidad relacionada. En la categoría «staging» se prohíben cambios que afecten la compatibilidad, pero en caso de descubrir problemas o deficiencias durante las pruebas, no se descarta la posibilidad de reemplazarlo por una nueva versión significativa del protocolo o por otra extensión de Wayland.
En la nueva versión se ha implementado la posibilidad de instalación utilizando el sistema de construcción Meson en lugar de autotools. En el futuro, se planea cesar completamente el apoyo a autotools. En la categoría staging se ha añadido un nuevo protocolo xdg-activation, que permite transferir el foco entre diferentes superficies de primer nivel. Por ejemplo, mediante xdg-activation una interfaz para lanzar aplicaciones puede transferir el foco a otra interfaz o una aplicación puede cambiar el foco a otra. El soporte para xdg-activation ya está implementado para Qt, GTK, wlroots, Mutter y KWin.
Actualmente, el conjunto de wayland-protocols incluye los siguientes protocolos estables, que garantizan la compatibilidad hacia atrás:
- viewporter» — permite que el cliente realice acciones de escalado y recorte de los bordes de la superficie en el lado servidores.
- «presentation time» — proporciona la visualización de video.
- «xdg-shell» — interfaz para crear e interactuar con superficies como si fueran ventanas, lo que permite moverlas en la pantalla, minimizarlas, maximizar, cambiar su tamaño, etc.
Protocolos en prueba en la rama «staging»:
- «fullscreen-shell» — gestión del trabajo en modo pantalla completa;
- «input-method» — procesamiento de métodos de entrada;
- «idle-inhibit» — bloqueo del inicio del salvapantallas;
- «input-timestamps» — marcas de tiempo para eventos de entrada;
- «linux-dmabuf» — uso compartido de múltiples tarjetas gráficas mediante la tecnología DMABuff;
- «text-input» — organización de la entrada de texto;
- «pointer-gestures» — control desde pantallas táctiles;
- «relative pointer events» — eventos de puntero relativos;
- «pointer constraints» — restricciones de puntero (bloqueo);
- «tablet» — soporte para entrada desde tabletas.
- «xdg-foreign» — interfaz de interacción con superficies de clientes «vecinos»;
- «xdg-decoration» — renderizado de decoraciones de ventanas en el lado del servidor;
- «xdg-output» — información adicional sobre la salida de video (se utiliza para el escalado fraccional);
- «xwayland-keyboard-grab» — captura de entrada en aplicaciones de XWayland.
- primary-selection — al igual que en X11, proporciona la operación del buffer de intercambio primario (primary selection), cuya información se inserta generalmente con el botón medio del ratón;
- linux-explicit-synchronization — mecanismo de sincronización de buffers específico para Linux vinculado a la superficie.
- xdg-activation — permite transferir el foco entre diferentes superficies de primer nivel (por ejemplo, mediante xdg-activation una aplicación puede cambiar el foco a otra).
Fuente: opennet.ru
