Wayland é um produto de software de código aberto que foi projetado desde o início para ser usado como substituto imediato do X Window System, que é usado atualmente em 99,9% de todo o Linux. sistemas operacionais baseados em computador.
O projeto compreende o servidor de exibição principal, chamado Wayland, bem como um compositor chamado Weston. Enquanto Wayland em si não é realmente um servidor X11, ele foi projetado como um protocolo de compositor, a fim de conversar com clientes como Weston, que pode ser executado como um cliente X.
O Wayland pode ser executado como um servidor de exibição independente sobre KMS (Kernel Mode-Setting) e dispositivos de entrada evdev, como um cliente Wayland, ou como um aplicativo tradicional destinado ao X Window System. Além disso, o Weston pode ser executado com o KMS ou como um cliente X11 e é adequado para dispositivos móveis ou incorporados.
Outros possíveis clientes para este inovador servidor de exibição de última geração podem ser outro servidor de exibição, servidores X11 (tela inteira ou sem raiz) ou qualquer outro aplicativo padrão. Uma implementação da biblioteca C do Wayland também está disponível.
Embora o Wayland forneça todos os componentes necessários para que o servidor de exibição seja executado adequadamente, o compositor Weston vem com vários clientes de demonstração, que podem ser usados pelos desenvolvedores como exemplos para construir clientes complexos de minério.
Os conhecidos e amplamente usados ambientes de desktop GNOME e KDE Plasma provavelmente serão os primeiros a serem portados para o servidor de exibição Wayland da próxima geração. No entanto, provavelmente demorará alguns anos para que todos os desenvolvedores de aplicativos do Linux migrem (leia: port) seus aplicativos para o Wayland.
Os desenvolvedores de distribuição e aplicativos Linux podem encontrar documentação detalhada sobre como portar seus aplicativos e sistemas operacionais para o Wayland na página inicial do projeto (veja acima). Os usuários finais podem testar o Wayland hoje usando o sistema operacional RebeccaBlackOS baseado em Linux.
O que há de novo nesta versão:
- A documentação do protocolo principal recebeu vários refinamentos para melhorar sua clareza e consistência. Junto com isso, muitas áreas em branco da documentação do protocolo foram desenvolvidas.
- Uma nova API do criador de logs wl_display_add_protocol fornece uma nova maneira interativa de depurar solicitações; junto com isso são novas APIs para examinar clientes e seus recursos. Isso é análogo ao uso de WAYLAND_DEBUG = 1, mas é mais poderoso, pois permite a análise do tempo de execução dos dados de log, como por meio de uma visualização da interface do usuário.
- Houve melhorias em como o scanner XML de protocolo manipula a identificação de versão nos cabeçalhos de protocolo. Isso permite uma melhor detecção e tratamento de fallback quando os compositores e clientes suportam versões diferentes de seus protocolos.
- Juntamente com essas alterações visíveis ao usuário, houve uma variedade de outras refatorações e refinamentos de código no Wayland 1.12.
- O código interno de Weston foi reestruturado em uma nova biblioteca de software, a libweston. Isso é destinado ao uso de outros esforços de compositores que desejam utilizar mais facilmente as funcionalidades internas da Weston. O próprio compositor de Weston agora é um usuário dessa biblioteca.
- Além disso, outra nova biblioteca chamada libweston-desktop fornece um nível adicional de funcionalidade de relevância para os compositores que implementam um estilo de metáfora de área de trabalho da interface gráfica. Esta API de biblioteca é projetada em torno da funcionalidade xdg_shell, fornecendo o tratamento de popups, estado de janela e interface com o Xwayland.
- Tanto o libweston quanto o libweston-desktop devem ser tratados como bibliotecas instáveis (ou seja, suas APIs estão sujeitas a alterações). Um esquema de controle de versão foi adotado para seu provisionamento ABI para permitir a detecção de intervalos em tempo de compilação. Em outras palavras, isso permite que os usuários detectem incompatibilidades no momento da instalação no sistema de empacotamento, e não quando tentam realmente usar o software. O sistema foi projetado para ajudar não apenas com os componentes liberados do Weston, mas também para sinalizar inconsistências ao usar os snapshots de desenvolvimento das bibliotecas, para ajudar os desenvolvedores a evitar problemas devido a inconsistências também.
- O suporte para a nova versão 6 do protocolo xdg_shell foi implementado no compositor Weston e todos os clientes são portados para ele. Veja as notas de lançamento do wayland-protocols 1.7 para detalhes sobre as mudanças incluídas.
- Uma API de bloqueio de ponteiro e confinamento é implementada para Weston usando o protocolo wp_pointer_constraints, para permitir que os clientes definam regiões de janelas para confinar o ponteiro. Essas regiões podem ser irregulares; um cliente é incluído para demonstrar o confinamento a uma região em forma de H, por exemplo. Um protocolo de ponteiro relativo (usando wl_relative_pointer) também foi introduzido, o que permite que os clientes continuem recebendo deltas de movimento do ponteiro, mesmo quando a posição absoluta do ponteiro é cortada, por exemplo, na borda do monitor.
- O backend do Raspberry Pi (rpi-backend) e o renderizador foram descartados. Esse código dependia de uma pilha de drivers proprietários e não era sustentável dentro da Weston.
- Vários outros recursos, melhorias de compilação, correções de bugs, refatorações de código, refinamentos para processos de destruição e assim por diante estão incluídos.
O que há de novo na versão:
- A documentação do protocolo principal recebeu vários refinamentos para melhorar sua clareza e consistência. Junto com isso, muitas áreas em branco da documentação do protocolo foram desenvolvidas.
- Uma nova API do criador de logs wl_display_add_protocol fornece uma nova maneira interativa de depurar solicitações; junto com isso são novas APIs para examinar clientes e seus recursos. Isso é análogo ao uso de WAYLAND_DEBUG = 1, mas é mais poderoso, pois permite a análise do tempo de execução dos dados de log, como por meio de uma visualização da interface do usuário.
- Houve melhorias em como o scanner XML de protocolo manipula a identificação de versão nos cabeçalhos de protocolo. Isso permite uma melhor detecção e tratamento de fallback quando os compositores e clientes suportam versões diferentes de seus protocolos.
- Juntamente com essas alterações visíveis ao usuário, houve uma variedade de outras refatorações e refinamentos de código no Wayland 1.12.
- O código interno de Weston foi reestruturado em uma nova biblioteca de software, a libweston. Isso é destinado ao uso de outros esforços de compositores que desejam utilizar mais facilmente as funcionalidades internas da Weston. O próprio compositor de Weston é agora um usuário dessa biblioteca.
- Além disso, outra nova biblioteca chamada libweston-desktop fornece um nível adicional de funcionalidade de relevância para os compositores que implementam um estilo de metáfora de área de trabalho da interface gráfica. Esta API de biblioteca é projetada em torno da funcionalidade xdg_shell, fornecendo o tratamento de popups, estado de janela e interface com o Xwayland.
- Tanto o libweston quanto o libweston-desktop devem ser tratados como bibliotecas instáveis (ou seja, suas APIs estão sujeitas a alterações). Um esquema de controle de versão foi adotado para seu provisionamento ABI para permitir a detecção de intervalos em tempo de compilação. Em outras palavras, isso permite que os usuários detectem incompatibilidades no momento da instalação no sistema de empacotamento, e não quando tentam realmente usar o software. O sistema foi projetado para ajudar não apenas com os componentes liberados do Weston, mas também para sinalizar inconsistências ao usar os snapshots de desenvolvimento das bibliotecas, para ajudar os desenvolvedores a evitar problemas devido a inconsistências também.
- O suporte para a nova versão 6 do protocolo xdg_shell foi implementado no compositor Weston e todos os clientes são portados para ele. Veja as notas de lançamento do wayland-protocols 1.7 para detalhes sobre as mudanças incluídas.
- Uma API de bloqueio de ponteiro e confinamento é implementada para Weston usando o protocolo wp_pointer_constraints, para permitir que os clientes definam regiões de janelas para confinar o ponteiro. Essas regiões podem ser irregulares; um cliente é incluído para demonstrar o confinamento a uma região em forma de H, por exemplo. Um protocolo de ponteiro relativo (usando wl_relative_pointer) também foi introduzido, o que permite que os clientes continuem recebendo deltas de movimento do ponteiro, mesmo quando a posição absoluta do ponteiro é cortada, por exemplo, na borda do monitor.
- O backend do Raspberry Pi (rpi-backend) e o renderizador foram descartados. Esse código dependia de uma pilha de drivers proprietários e não era sustentável dentro da Weston.
- Vários outros recursos, melhorias de compilação, correções de bugs, refatorações de código, refinamentos para processos de destruição e assim por diante estão incluídos.
O que há de novo na versão 1.9.0:
- Bryce Harrington (20):
- configure.ac: versão bump para 1.8.90
- COPYING: atualize para a licença MIT Expat em vez da licença MIT X
- Contribuindo: Especifique o uso do MIT Expat para novos arquivos de código
- testes: Atualize o clichê da licença MIT X11 para a licença MIT Expat
- teste de soquete: corrija o estilo no comentário de várias linhas
- test-runner: adicione o boilerplate de direitos autorais para .h, o mesmo que o .c
- src: Atualize o clichê da licença MIT X11 para a licença MIT Expat
- wayland-server: corrija o estilo no comentário de várias linhas
- protocolo: Atualize o clichê da licença MIT X11 para a licença MIT Expat
- cursor: Atualize o clichê da licença MIT X11 para a licença MIT Expat
- cursor-data.h: Altere o código licenciado do SuSE de X11 para Expat
- xcursor: Altere o código licenciado do keithp de X11 para a licença Expat
- publican: atualize a licença de documentos do MIT "X11" para o estilo "Expat" do MIT
- cursor: Atualizar a licença impressa do MIT "X11" para o MIT "Expat"
- testes: não incremente variáveis dentro de uma afirmação ()
- gitignore: Ignore alguns arquivos gerados por dist
- configure.ac: bata para a versão 1.8.91 para o lançamento alfa
- configure.ac: bata para a versão 1.8.92 para a versão beta li>
- configure.ac: bata para a versão 1.8.93 da versão RC1
- configure.ac: bata para a versão 1.9.0 para o lançamento oficial
- Derek Foreman (9):
- docs: remova e ignore doc / doxygen_sqlite3.db
- build: mova AM_CFLAGS e AM_CPPFLAGS para o início de Makefile.am
- build: pare de colocar FFI_CFLAGS em AM_CFLAGS
- build: permite desabilitar a construção de bibliotecas de vias fluviais
- build: crie um subconjunto de libwayland_util ao não criar bibliotecas
- build: não dependa da libffi, a menos que criemos bibliotecas
- build: use AM_CFLAGS em vez de GCC_CFLAGS em todos os lugares
- cosmético: mudanças gratuitas de espaço em branco em event-loop.c
- build: construa o libwayland-private
- Dima Ryazanov (1):
- cliente: requer que WAYLAND_DISPLAY seja definido
- Elvis Lee (1):
- wayland-client: corrija queue_release para não chamar proxy_destroy
- Marek Chalupa (5):
- benchmark fixo: remova argumentos não utilizados na principal
- scanner: refatorando a criação de objetos
- scanner: elimine vazamentos
- scanner: use zxalloc
- scanner: verifique a sanidade da versão
- Pekka Paalanen (1):
- Reverter "cliente: requer que WAYLAND_DISPLAY seja definido"
- Peter Hutterer (2):
- doc: mova as configurações do doxygen específicas do projeto para o final do arquivo doxygen
- doc: elimine as tags doxygen padrão
- Ross Burton (1):
- build: sempre construa o scanner wayland
O que há de novo na versão 1.8.1:
- Bryce Harrington (2):
- publish-doc: adicione um script para publicar documentos no site
- configure.ac: bata para a versão 1.8.0 para o lançamento oficial
- Giulio Camuffo (1):
- scanner: não emita as declarações externas para tipos externos
- Bill Spitzak (1):
- config: use a sintaxe mais simples do regexp para obter a versão do ponto
- Bryce Harrington (11):
- configure.ac: versão de impacto para 1.7.90
- cliente: corrigir erro de digitação
- Correções ortográficas (cosméticas)
- testes: erro de digitação em um comentário
- configure.ac: bata para a versão 1.7.91 para o lançamento alfa
- configure.ac: bata para a versão 1.7.92 para o release RC1
- gitignore: ignore o teste de cabeçalhos adicionado recentemente
- gitignore: Bulk ignora todos os arquivos * -test
- configure.ac: bata para a versão 1.7.93 do release RC2
- publish-doc: adicione um script para publicar documentos no site
- configure.ac: bata para a versão 1.8.0 para o lançamento oficial
- Derek Foreman (1):
- cursor: adicione wl_cursor_frame_and_duration
- Emmanuel Gil Peyrot (1):
- cursor: libera a matriz da qual as imagens são vinculadas
- Giulio Camuffo (5):
- introduza novos cabeçalhos wayland-client-core.h e wayland-server-core.h
- wayland-egl: adicione um cabeçalho principal
- scanner: adicione uma nova opção --include-core-only
- testes: adicione um teste de cabeçalhos
- scanner: não emita as declarações externas para tipos externos
- Endurecimento (1):
- wayland.xml: corrigido um erro de digitação
- Jonas Adahl (2):
- protocolo: alterar o texto do agendamento de veiculação de subsuperfície
- scanner: falha em enumerações vazias
- Jussi Pakkanen (1):
- Adicione suporte para leitura e gravação diretas de arquivos no scanner de caminhos.
- Marek Chalupa (2):
- servidor: fornece uma mensagem de erro mais precisa
- protocolo: adicione uma descrição melhor de wl_pointer.release
- Michael Vetter (1):
- remover espaços em branco finais
- Pekka Paalanen (1):
- scanner: simplifique a lógica getopt
O que há de novo na versão 1.7.0 / 1.8.0 RC2:
- Wayland:
- gitignore: ignore o teste de cabeçalhos adicionado recentemente
- gitignore: Bulk ignora todos os arquivos * -test
- configure.ac: bata para a versão 1.7.93 do release RC2
- testes: adicione um teste de cabeçalhos
- Weston:
- liberando: Liste alguns caminhos de lib para configurar a libinput local
- lançamento: untabify
- configure: avisa que cairo-gl e cairo-glesv2 são arriscados
- compositor-drm: menor sp. corrigir
- editor: avisar quando a gravação falhar
- testes: Adicionar tratamento de erros para chamadas do sistema
- tests: Adicione rotinas auxiliares de clientes para nomes de arquivos de saída e referência
- testes: Adicione uma função auxiliar xmalloc
- testes: adicione verificações de superfície
- testes: suporte --config para permitir que os testes substituam os padrões de configuração
- protocol: Adicionar recurso de captura de tela de teste
- testes: Adicionar recurso de gravação de captura de tela ao weston-test
- testes: lide com o evento de captura de tela concluído em weston-test
- testes: Adicione teste interno para o recurso de captura de tela do teste weston
- tests: adicione o assistente write_surface_as_png ()
- testes: adicione create_screenshot_surface ()
- testes: Adicione load_surface_from_png ()
- tests: Adicione check_surfaces_geometry ()
- testes: Adicione capture_screenshot_of_output ()
- testes: corrija o estilo de código nas rotinas de caminho / nome de arquivo
- testes: verifique se a passada do arquivo PNG corresponde à nossa suposição interna
- testes: espaço em branco de limpeza
- gitignore: Ignore arquivos de teste de cabeçalho gerados
- testes: descarte a saída de depuração redundante
- release: Adicione vars para o nome e o número do release
- configure.ac: bata para a versão 1.7.93 do release RC2
- compositor-drm: limpar espaço em branco à direita li>
- Compositor RDP: impor certificado e chave
- gl-renderer: obtenha uma lista de formatos aceitáveis em funções de criação
- compositor-drm: passa o fallback ARGB para criar funções para os formatos XRGB
- gl-renderer: Torne o registro de erros um pouco melhor
- tests: configure a variável de ambiente da imagem de referência
- tests / internal-screenshot: corrija o teste para que não espere superfícies de casca
- exposay: não trave se nenhum ponteiro estiver presente
- desktop-shell: destrua superfícies em um manipulador ocioso após o fade out
- internal-screenshot-test: Faça o distcheck pass
- compositor-wayland: janela de manipulação fecha eventos com mais graça
- compositor-wayland: limpeza de código
- xdg-shell: Esclareça o significado do ID do aplicativo e dê um exemplo
- xdg-shell: Condições de erro do documento quando pop-up e getters de superfície
- xdg-shell: Responsabilidades do documento em relação a eventos de ping
- xdg-shell: Documente as solicitações set_maximized e unsmetmaximized
- compositor-drm: desabilitar cursores de hardware
- desktop shell: não apague com a inicialização "none"
O que há de novo na versão 1.7.0:
- O protocolo de Wayland pode ser considerado "concluído", mas isso não significa que não haja trabalho a ser feito. Esta versão focada em grandes melhorias para a documentação do Wayland, pequenas melhorias no testuite e algumas correções de bugs para o próprio código.
- A documentação do desenvolvedor do Wayland é composta de três partes diferentes. A primeira é uma prosa escrita manualmente, que inclui diagramas e uma descrição de alto nível de tudo. A segunda é a documentação do protocolo, que é gerada mecanicamente a partir das definições de protocolo e funciona mais como um manual de referência. A terceira é a documentação do código, que também é gerada mecanicamente, mas a partir do próprio código-fonte da biblioteca.
- Mudamos a prosa escrita de ser gerada por publicano para xmlto. O xmlto fornece a mesma funcionalidade e está mais amplamente disponível. A vantagem do publicano era suas folhas de estilo mais agradáveis, mas nós as portamos para rodar no xmlto, e as polimos enquanto estávamos nisso. Os diagramas arquitetônicos na documentação do desenvolvedor agora são gerados mecanicamente com graphviz - isso melhora a aparência e facilita a manutenção daqui para frente.
- Para a documentação do protocolo, o conceito de função wl_surface recentemente adicionado é definido e recebe vários exemplos. wl_display_destroy e wl_display_add_socket agora estão documentados e alguns aspectos do encadeamento estão clarificados. Ele também foi reorganizado, com funções obsoletas eliminadas e todos os erros de validação corrigidos.
- A documentação do código gerado automaticamente é mais bonita agora graças a muito trabalho de polimento feito nos arquivos xslt e melhorias de marcação feitas para codificar comentários.
- O conteúdo da documentação do protocolo está restrito: descartamos funções muito obsoletas, funcionalidades privadas ocultas como wl_map e funções recategorizadas com mais precisão com os objetos que elas modificam.
- Uma série de possíveis falhas de memória e eventos em testes e clientes foram limpos e a verificação de vazamentos agora é imposta pela infraestrutura do conjunto de testes. A verificação de vazamentos também é adicionada aos clientes de amostra.
- O testsuite agora tem uma maneira de definir tempos limite para a conclusão do teste. Os tempos limite podem ser desativados definindo a variável de ambiente WAYLAND_TEST_NO_TIMEOUTS. Por questões de consistência, NO_ASSERT_LEAK_CHECK é agora chamado de WAYLAND_TEST_NO_LEAK_CHECK. Os tempos limite e as verificações de vazamento são desativados quando um depurador é conectado.
- Existe um novo teste de compilação em C ++; embora Wayland e Weston estejam em C, queremos garantir que Wayland possa ser vinculado a compositores escritos em C ++ sem incorrer em falhas básicas de compilação.
- Além de testes e documentos, houve algumas mudanças na própria base de código. Notavelmente, a fila de escuta do cliente é aumentada para 128, para permitir que vários clientes sejam conectados simultaneamente sem erros de conexão recusados. Algumas correções de plataforma cruzada, como um bug do FreeBSD com o uso de sendmsg (), foram corrigidas. As correções restantes melhoram a verificação de erros e o manuseio em vários lugares.
O que há de novo na versão 1.7.0 RC2:
- Wayland:
- configure.ac: Retorna ao código de detecção mais antigo se o pkg-config não encontrar o expat
- doc: preencha a descrição de alto nível para superfícies
- testes: corrija FALHA no teste de sanidade (* tempo limite *) quando o LSM Yama estiver ativado
- test-runner: aguarde pid concreto
- Weston:
- lançamento: ajuste os documentos para corresponder melhor ao fluxo de trabalho real
- screenshooter: remova o elenco inútil
- desktop shell: remove tipos de conversão desnecessários
- compositor-x11: Move a janela x11 para perto de um manipulador ocioso
- xwm: remova o ouvinte da superfície de criação em weston_wm_destroy
- Corrija "Voltar", "Avançar" e outros botões especiais do mouse no compositor X11.
- xwm: suporte para maximizar as janelas xwayland
- libinput: somente encaminhar primeiro e último press e liberar um botão
- libinput: somente encaminhar primeiro e último press e release para uma chave
- desktop shell: falha se get_xdg_surface for chamado em um xdg_surface
- ivi-shell: SEGV ocorre quando o multi toque acontece na transição
O que há de novo na versão 1.6.1:
- doc: corrigido um erro de digitação
- Remover ponto-e-vírgula inútil
- README: Pequena mudança cosmética
- doc: gramática fixa e um erro de digitação
- scanner, cliente: Adicionadas mais verificações de erros quando a função strtol é usada
- scanner: melhorar o relatório de erros de análise de XML
- scanner: remover nova linha perdida
- client: read_events deve retornar -1 depois de um erro
- testes: corrija o vazamento de memória
- conexão: corrija o sendmsg () no FreeBSD
- event-loop.c: Use a função correta de abstração do SO para dupfd ()
- wayland-server: Aborta se uma leitura de um cliente der 0 comprimento
- conexão: aborta se uma função de ouvinte for NULL
- doc: documentação da API adicionada às funções wl_display_destroy e wl_display_add_socket
O que há de novo na versão 1.7.0 Alpha 1:
- doc: marque alguns exemplos de código
- doc: principalmente, use modelos de aplicação acima do valor
- doc: converta tags doxygen em espaços
- conexão: deixe o fd aberto em wl_connection_destroy
- doc: faz a reconstrução da saída do doxygen em alterações de código
- doc: preservar espaços
- doc: preserva os links produzidos pelo Doxygen
- doc: Não imprima traço se a breve descrição do doxgen estiver faltando
- doc: removeu alguma listagem aninhada desnecessária da saída do doxygen
- doc: Adicionadas tags de código ao redor do código de amostra nos comentários do doxygen
- v4 doc: referência fixa a função inexistente
- doc: corrigido um erro de digitação
- doc: Removido ref quando se refere ao assunto ao qual o texto está anexado
- doc: Remoção de recuo extra do exemplo de código wl_list
- doc: removeu a dependência redundante
- doc: remova descrições duplicadas de objetos do caminho rural
- doc: corrija a linha de comando doxygen- & gt; man
- doc: Divida o libwayland-client e -server em páginas diferentes
- doc: correção para make paralela
- doc: Facilite a adição de uma nova página doxygen
- doc: simplifique a adição de uma nova página doxygen
- doc: reduza os erros de validação da entrada docbook
- doc: removeu a palavra "interface" dos nomes dos links
- doc: Cada classe na saída do doxygen é uma seção
- doc: Estruturas de documentos e uniões, além de classes
- doc: crie listas detalhadas do trabalho do doxygen
- Não documente um parâmetro ausente.
- configure.ac: bump versão para 1.6.91 para o lançamento alfa
- Remova o ponto e vírgula inútil.
- README: Pequena mudança cosmética
- cosmético: converte alguns retornos de função de int para bool
- doc: gramática fixa e um erro de digitação
- scanner, cliente: Adicionadas mais verificações de erros quando a função strtol é usada
- servidor: aumenta a fila de escuta para 128
- doc: Removidos elementos de saída xslt redundantes.
- doc: Invoque o doxygen por meio da variável de criação definida.
- doc: Adicionar verificação de configuração para doxygen 1.6.0 +.
- doc: limpeza geral do makefile.
- doc: Limpeza de makefile menor.
- scanner: melhorar o relatório de erros de análise de XML
- scanner: remover nova linha perdida
- testes: use nosso próprio XDG_RUNTIME_DIR para testes
- testes: adicionar tempo limite
- testes: adicione funções test_usleep e test_sleep
- testes: adicionar testes de tempo limite
- testes: use test_set_timeout no display-test
- teste de fila: tempo limite de retorno
- testes: não imprima o caractere '<'
- client: read_events deve retornar -1 depois de um erro
- testes: renomeia env vars para testes
- test-runner: imprime a linha separadora após cada caso de teste
- testes: use cores ao imprimir no terminal
- testes: detecta se o depurador está conectado
- testes: testcases de teste de fila dividida
- testes: corrija o vazamento de memória
- cliente: atualize comentários obsoletos
- client: atualize a documentação sobre o encadeamento
- gitignore: adpat para alterações no caminho do scanner e do protocolo
- configure.ac: versão de impacto para 1.6.90
- protocolo: defina o conceito de função wl_surface
- protocolo: wl_pointer.set_cursor dá uma função
- protocolo: wl_data_device.start_drag pode dar uma função
- protocolo: wl_subcompositor.get_subsurface dá uma função
- protocolo: wl_shell.get_shell_surface dá uma função
- protocol: defina códigos de erro para a reatribuição de funções
- doc: substitua publican por xmlto
- conexão: corrija o sendmsg () no FreeBSD
- event-loop.c: Use a função correta de abstração do SO para dupfd ()
- wayland-server: Aborta se uma leitura de um cliente der 0 comprimento
- queue-test: adicione outra asserção
- conexão: aborta se uma função do ouvinte for NULL
- scanner.c: Use WL_PRINTF em vez de __attribute __ ((format (printf)))
- doc: documentação da API adicionada às funções wl_display_destroy e wl_display_add_socket.
- Protocolo: Adicionado o destrutor à interface wl_data_device
O que há de novo na versão 1.6.0:
- Wayland:
- Adicionar enums de erro a wl_surface.
- Adicione informações de repetição do teclado ao protocolo wl_keyboard.
- Erro ao manipular adições no libwayland-client: quando ocorre um erro de protocolo, o programa pode consultar informações mais detalhadas sobre o erro. Isso é útil principalmente para testes para garantir erros corretos.
- Novo wl_display_add_socket_auto () no libwayland-server: localiza automaticamente um nome de soquete livre.
- Muitos testes adicionados ao pacote 'make check', incluindo uma estrutura para testar as interações servidor-cliente com mais facilidade.
- Encadeando e bloqueando correções de bugs relacionadas.
- Adicione wl_display_roundtrip_queue (): bloqueio de ida e volta em uma fila personalizada.
- Pare de expor o wl_display global. Acontece que a ligação ao global teria desencadeado bugs, e não havia uso adequado para isso.
- Weston:
- Alterações no protocolo Xdg-shell. Sim, nós quebramos novamente desde 1.5.0.
- Adicione o mecanismo de mascaramento weston_layer.
- DRM-backend: recupera o tamanho do cursor do kernel
- suporte à taxa de repetição do teclado, enviado do compositor para os clientes, configurável.
- Use o wl_display_add_socket_auto (): não é mais necessário especificar o soquete ao executar o Weston no Weston, ele apenas funciona agora.
- Use libinput por padrão. O backend de entrada que não é da libinput ainda está lá, mas será removido para 1.7.
- Mais alguns bits de configuração da área de trabalho.
- 'make distcheck' realmente funciona OOTB sem ajustes personalizados (desabilitando o teste do xwayland para distcheck por enquanto).
- Saia de Weston, se weston-desktop-shell morrer muito cedo. Deve ajudar com uma classe de problemas de "apenas tela preta".
- Opção para forçar o numlock no início nos backends de DRM e fbdev.
- Muitas correções de bugs, claro.
O que há de novo na versão 1.6.0 RC2:
- touchpad: redefinir o histórico de movimento quando o nfingers é alterado em blocos semi-mt
- litest-alps-semi-mt: corrigir avisos do compilador
- build: o símbolo ck_assert_ptr_ne requer verificação-0.9.10
- teste: use apenas um dispositivo de teste para alguns testes de caminho e udev
- test: remova o dispositivo de teste do contexto ao excluir
- teste: não falhe quando os eventos forem ativados várias vezes
- evdev: deixe as instâncias de despacho definirem suas próprias capacidades
- evdev: use o ajudante para separar os botões das teclas
- evdev: Ignorar eventos de liberação de tecla / botão se a chave nunca foi pressionada
- evdev: mantenha o controle do botão / tecla pressionada por dispositivo
- evdev: O lançamento ainda pressionava teclas / botões ao remover o dispositivo
- touchpad: somente sair do FSM de toque para pressionar o botão do teclado de clique
- configure.ac: libinput 0,6
- test: atualização automática para BTN_TOOL_ * ao usar as funções litest_touch_
- Documento que o delta dos eventos do ponteiro é acelerado
- evdev: não retorna uma largura / altura se formos falsificar a resolução
- test: adicione um dispositivo de teste semi-mt Alps
- touchpad: aumenta a área do botão superior do software para 15%
- Use -no-install em vez de -static para link local noinst
- Desativar bibliotecas estáticas
- evdev: vazamento de memória do plug na falha libevdev_new_from_fd
- Não feche o fd se libinput_add_fd () falhar
- touchpad: marque um caso intencional de alternância como tal
- Condições de troca para ARRAY_FOR_EACH ()
- touchpad: silêncio Avisos de cobertura sobre o uso não inicializado
- Corrigir uma referência do doxygen
- teste: adicione ajudantes para aguardar eventos específicos
- teste: adicione um dispositivo genérico de toque único
- udev: use evdev_device_calibrate () em vez de gravar manualmente a matriz
- evdev: constify evdev_device_calibrate
- evdev: aplique calibração a valores multitouch bem
- util: adicione algumas funções auxiliares de matriz 3x3
- evdev: alterna para uma matriz de transformação normalizada
- udev: solte WL_CALIBRATION, substitua por LIBINPUT_CALIBRATION_MATRIX
- teste: adicione testes para calibração por toque
- Altere a calibragem para uma opção de configuração
- evdev: carrega o LIBINPUT_CALIBRATION_MATRIX como matriz padrão
- teste: corrija o loop infinito em litest_wait_for_event_of_type ()
- test: use a variável evironment para verbosidade do cheque
- Documento LIBINPUT_CALIBRATION_MATRIX corretamente
- Documente as opções de configuração do udev estático que suportamos
Comentários não encontrado