Foi publicado o lançamento do pacote wayland-protocols 1.21, contendo um conjunto de protocolos e extensões que complementam os recursos do protocolo Wayland básico e fornecem os recursos necessários para a construção de servidores compostos e ambientes de usuário.
A partir da versão 1.21, o estágio de desenvolvimento de protocolo “instável” foi substituído por “staging” para suavizar o processo de estabilização de protocolos que foram testados em ambientes de produção. Todos os protocolos passam sequencialmente por três fases – desenvolvimento, teste e estabilização. Após completar a fase de desenvolvimento, o protocolo é colocado no ramo “staging” e incluído no conjunto de protocolos wayland, e após a conclusão dos testes, é movido para a categoria estável. Os protocolos da categoria “staging” já podem ser usados em servidores compostos e clientes onde a funcionalidade relacionada é necessária. Na categoria “staging”, é proibido fazer alterações que violem a compatibilidade, mas se forem identificados problemas e deficiências durante os testes, a substituição por uma nova versão significativa do protocolo ou outra extensão do Wayland não está excluída.
A nova versão inclui a capacidade de instalação usando o sistema de compilação Meson em vez de ferramentas automáticas. Existem planos para parar completamente de oferecer suporte a ferramentas automáticas no futuro. Um novo protocolo de ativação xdg foi adicionado à categoria de teste, permitindo que o foco seja transferido entre diferentes superfícies de primeiro nível. Por exemplo, com a ativação xdg, uma interface do iniciador de aplicativo pode dar foco a outra interface ou um aplicativo pode mudar o foco para outro. O suporte à ativação xdg já foi implementado para Qt, GTK, wlroots, Mutter e KWin.
Atualmente, os protocolos wayland incluem os seguintes protocolos estáveis, que fornecem compatibilidade com versões anteriores:
- "viewporter" - permite que o cliente execute ações de dimensionamento e corte de bordas de superfície no lado do servidor.
- “tempo de apresentação” - fornece exibição de vídeo.
- “xdg-shell” é uma interface para criar e interagir com superfícies como janelas, que permite movê-las pela tela, minimizar, expandir, redimensionar, etc.
Protocolos testados no ramo “staging”:
- “fullscreen-shell” - controle de trabalho em modo tela cheia;
- “método de entrada” - métodos de processamento de entrada;
- “idle-inhibit” - bloqueando o lançamento do protetor de tela (protetor de tela);
- “input-timestamps” — carimbos de data/hora para eventos de entrada;
- "linux-dmabuf" - compartilhamento de diversas placas de vídeo utilizando tecnologia DMABuff;
- “entrada de texto” — organização da entrada de texto;
- “gestos de ponteiro” - controle a partir de telas sensíveis ao toque;
- “eventos de ponteiro relativo” - eventos de ponteiro relativo;
- “restrições de ponteiro” - restrições de ponteiro (bloqueio);
- "tablet" - suporte para entrada de tablets.
- “xdg-foreign” - interface para interação com as superfícies do cliente “vizinho”;
- “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 (usadas para escala fracionária);
- "xwayland-keyboard-grab" - captura entrada em aplicativos XWayland.
- seleção primária - por analogia com o X11, garante o funcionamento da área de transferência primária (seleção primária), cujas informações geralmente são inseridas com o botão do meio do mouse;
- linux-explicit-synchronization é um mecanismo específico do Linux para sincronizar buffers vinculados à superfície.
- ativação xdg - permite transferir o foco entre diferentes superfícies de primeiro nível (por exemplo, usando a ativação xdg, um aplicativo pode mudar o foco para outro).
Fonte: opennet.ru