Mir 2.26.0

A Canonical lançou a versão 2.26.0 do Mir — um novo compositor e conjunto de bibliotecas para a criação de shells e ambientes gráficos baseados em Wayland.

Wayland e novos protocolos

  • Adicionada uma implementação MVP do protocolo ext-input-triggers (V1).
  • Esboço do protocolo implementado ext-input-triggers para processar gatilhos de entrada em Wayland. Essa funcionalidade é considerada privilegiada e não é ativada por padrão.
  • Arquivo de especificação atualizado ext-input-trigger-action-v1.xml: foram adicionadas clarificações sobre a validade e acessibilidade dos tokens.
  • Adicionada implementação parcial de ext_image_copy_capture_v1 para sessões de cursor.
  • Implementado transmissão de imagem do cursor via ext_image_copy_capture_v1.

Rust e o desenvolvimento da arquitetura

  • Iniciada a implementação do frontend do Wayland em Rust.
  • O trabalho na plataforma de entrada baseada em Rust continuou. Este ainda não é o caminho principal para o processamento de entrada, mas já é um passo prático para a integração gradual do Rust no projeto.

Subsistema de entrada: evdev-rs

  • Implementado suporte a eventos de toque (touch events).
  • Código do módulo de dispositivo limpo.
  • Corrigida a manipulação dos eventos dos dispositivos apontadores: o estado dos botões foi transferido para o armazenamento no nível dos dispositivos individuais.
  • A lógica de processamento de eventos foi reformulada para aumentar a clareza e a manutenibilidade do código.

Cursor, janelas, API e infraestrutura interna

  • Para CursorObservers adicionada a possibilidade de rastrear alterações na imagem do cursor.
  • Componente CursorObserverMultiplexer agora envia o estado inicial para novos observadores registrados.
  • Refatoração realizada MinimalWindowManager.
  • Adicionada a possibilidade de definir o canal alpha da janela e obtê-lo através de WindowInfo.
  • Adicionados aos templates libmiral requires clauses, o que melhora a rigorosidade das restrições ao nível do código template C++.
  • Realizada a transferência APIs de logging e valores padrão para mircore.
  • Chamada strerror() substituída por strerror_r() seguro para threads.

Correções de bugs

  • Corrigido erro em que BasicXCBConnection::destroy_window chamava xcb_map_window ao invés de xcb_destroy_window.
  • Corrigido problema onde as respostas do XCB nem sempre eram liberadas.
  • Corrigido erro: a reprodução em tela cheia de vídeos no Google Chrome podia não funcionar se a janela não estivesse em modo de tela cheia antecipadamente.
  • Para o X11, foi adicionada a configuração correta de _NET_CLIENT_LIST_STACKING.
  • Corrigida implementação não segura de manuseio de sinal fatal, que foi explicitamente descrita na versão como «extremamente insegura».
  • Corrigido erro onde a verificação DRM_CLIENT_CAP_ATOMIC era realizada através de uma chamada ioctl incorreta.
  • Limpeza e aprimoramento da lógica foram realizados mgk::find_crtc_with_primary_plane.
  • Comportamento de oclusão corrigido: se a superfície tem uma área opaca, mas seu alpha não é igual a 1.0, ela não deve mais ser usada como totalmente cobridora.

Outros

  • Foi notado um aumento no número de novos participantes do projeto: o lançamento do Mir 2.26.0 inclui contribuições de vários novatos, que os desenvolvedores interpretam como um sinal de crescimento da comunidade em torno do Mir.

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster