Backing store ao mapear / desmapear uma janela do X11?

3

Meu cliente / servidor X11 está configurado para usar um armazenamento de backup (backing_store = WhenMapped), que funciona bem quando minha janela está parcialmente obscurecida: remove o que está obscurecendo a janela e a parte agora visível é atualizada do armazenamento de backup com não há necessidade de eu repintar ...

... mas não está funcionando quando a janela é desmapeada e depois mapeada novamente: recebo os eventos UnmapNotify e MapNotify, mas minha janela está em branco quando mapeada e eu mesmo tenho que repintar tudo.

Então, minha pergunta: Como faço para que o backing store funcione para Unmap / Map e Expose? (backing_store = Sempre) não fez diferença.

Sistema: Ubuntu 16.04, X.Org X Server 1.19.3

Obrigado

    
por ian.macky 26.08.2018 / 18:21

1 resposta

0

Por backing_store = always , presumo que você esteja falando dos atributos da janela no seu código de cliente? Mas você tem certeza que a opção BackingStore está habilitada para o seu servidor X? Presumindo o Xorg, você deve localizar seu log ( /var/log/Xorg.0.log , ou mais recentemente ~/.local/share/xorg/Xorg.0.log ) e grep para Backing store :

> grep 'Backing store' ~/.local/share/xorg/Xorg.0.log

[    67.851] (==) intel(0): Backing store enabled

Se não estiver ativado, você pode tentar criar /etc/X11/xorg.conf.d/10-backing-store.conf (ou adicioná-lo a um arquivo existente, se tiver um com uma seção Device ):

Section "Device"
  Option "BackingStore" "on"
EndSection

Reinicie o X e veja se a opção está ativada no Xorg.0.log.

Existe também a opção +bs (observe o +) para o próprio Xorg, que eu usei com sucesso no passado.

> Xorg --help
...
+bs      enable any backing store support
    
por 26.08.2018 / 19:29

Tags