Foi lançado o pacote wayland-protocols 1.21, que contém um conjunto de protocolos e extensões que complementam as capacidades do protocolo Wayland básico e fornecem as funcionalidades necessárias para a construção de servidores compostos e ambientes de usuário.
A partir da versão 1.21, a fase de desenvolvimento dos protocolos "unstable" foi substituída por "staging", para suavizar o processo de estabilização dos protocolos testados em ambientes de trabalho. Todos os protocolos passam por três fases — desenvolvimento, teste e estabilização. Após o término da fase de desenvolvimento, o protocolo é colocado na branch "staging" e incluído no pacote wayland-protocols, e após a finalização dos testes, é movido para a categoria de estáveis. Protocolos da categoria "staging" já podem ser usados em servidores compostos servidores e clientes que exigem a funcionalidade associada. Na categoria "staging", é proibida a introdução de alterações que violem a compatibilidade, mas se problemas ou falhas forem identificados durante os testes, a substituição por uma nova versão significativa do protocolo ou de outra extensão do Wayland não é excluída.
A nova versão implementa a possibilidade de instalação usando o sistema de compilação Meson em vez do autotools. No futuro, está previsto que o suporte ao autotools seja totalmente encerrado. Na categoria staging, um novo protocolo xdg-activation foi adicionado, permitindo a transferência de foco entre diferentes superfícies de primeiro nível. Por exemplo, com o xdg-activation, uma interface para iniciar aplicativos pode transferir o foco para outra interface, ou um aplicativo pode alternar o foco para outro. O suporte ao xdg-activation já foi implementado para Qt, GTK, wlroots, Mutter e KWin.
Atualmente, o conjunto de wayland-protocols inclui os seguintes protocolos estáveis, que garantem compatibilidade retroativa:
- viewporter — permite que o cliente execute ações de escalonamento e corte das bordas da superfície do lado servidor.
- "presentation time" — garante a exibição de vídeo.
- «xdg-shell» — uma interface para criar e interagir com superfícies como janelas, permitindo movê-las pela tela, minimizá-las, restaurá-las, redimensioná-las, etc.
Protocolos testados na ramificação «staging»:
- "fullscreen-shell" — controle de operação em modo de tela cheia;
- "input-method" — processamento de métodos de entrada;
- "idle-inhibit" — bloqueio do iniciador de protetor de tela;
- "input-timestamps" — carimbos de tempo para eventos de entrada;
- "linux-dmabuf" — compartilhamento de várias placas de vídeo usando tecnologia DMABuff;
- "text-input" — organização de entrada de texto;
- "pointer-gestures" — controle a partir de telas sensíveis ao toque;
- "relative pointer events" — eventos de ponteiro relativos;
- "pointer constraints" — restrições de ponteiro (bloqueio);
- «tablet» — suporte à entrada através de tablets.
- "xdg-foreign" — interface de interação com superfícies de clientes "vizinhos";
- «xdg-decoration» — renderização de decorações de janelas no lado do servidor;
- «xdg-output» — informações adicionais sobre a saída de vídeo (usado para escalonamento fracionário);
- «xwayland-keyboard-grab» — captura de entrada em aplicativos XWayland.
- primary-selection — similar ao X11, fornece suporte para o bufê primário (primary selection), cuja inserção de informações geralmente é feita pelo botão do meio do mouse;
- linux-explicit-synchronization — mecanismo de sincronização de buffers específico do Linux em relação à superfície.
- xdg-activation — permite transferir o foco entre diferentes superfícies de primeiro nível (por exemplo, usando xdg-activation, um aplicativo pode mudar o foco para outro).
Fonte: opennet.ru
