Como escurecer uma região de uma área de trabalho virtual?

0

Eu estou procurando uma solução de linha de comando para cobrir uma seção configurável de uma área de trabalho virtual com um retângulo de cor configurável, para ocultar o conteúdo abaixo. Ainda assim, é possível usar uma janela que tenha parte de seu conteúdo oculta dessa maneira.

Uma ferramenta de anotação de tela (como discutido em esta pergunta ) não funciona aqui porque a pintura de superposição afetará todos os desktops virtuais em ao mesmo tempo, pelo menos em todas as ferramentas que testei.

(O aplicativo para isso está cobrindo anúncios de banner desagradáveis em um aplicativo que não é de navegador. Ele também pode ser usado para ocultar conteúdo em uma apresentação ao vivo .

    
por tanius 28.10.2015 / 01:34

1 resposta

2

Você pode usar o visualizador de imagens feh para exibir uma imagem transparente em fundo preto ou branco em seu tamanho e posição definidos e sem decorações de janelas. Em seguida, use o comando wmctrl para mantê-lo no topo de todas as outras janelas, conforme mostrado em esta resposta .

Então, um exemplo de comando (aqui para ocultar anúncios visuais do Spotify em uma tela de 1280x800) é assim:

sh -c "feh --borderless --title hidemyads --geometry 980x95+302+643 \
    --image-bg black /path/to/transparent.png & \
  sleep 0.3 && \
  wmctrl -r hidemyads -b add,above"

Anotações e explicações:

  • Para descobrir a geometria a ser usada, posicione e redimensione qualquer janela onde desejar e descubra sua geometria em wmctrl -lG output.
  • wmctrl -r seleciona a janela onde o título corresponde à string fornecida, portanto, tornamos essa string única definindo o título da janela em feh antes.
  • Precisamos dormir um pouco depois de feh , pois parece haver um pequeno atraso até que o gerenciador de janelas saiba a nova janela. Normalmente, 0,1 s é suficiente, mas dependendo da carga do sistema, etc., pode ser necessário mais, por isso, o triplicamos.
  • feh ainda não suporta a configuração da cor de fundo da imagem além de --image-bg black e --image-bg white , mas se você realmente quiser, a patch está disponível .
  • Para configurar a cor, você pode usar uma imagem nessa cor. Mas não é flexível: feh sempre mostra a imagem na proporção original, portanto, você teria que adaptar a proporção da imagem ao que deseja usar em --geometry .
  • O envolvimento em sh -c "…" segue esta técnica para fazer com que o comando também seja executado no ativador Alt + F2 (o que, de outra forma, seria só execute um, pelo menos no LXDE). Além disso, o encapsulamento separa o comando de um terminal (para que a janela feh fique aberta ao fechar a janela do terminal).
por tanius 28.10.2015 / 01:34