Até onde eu sei ... para conseguir isso, você precisará da ajuda de um Compositor de Janelas .
Você pode tentar instalar um compositor autônomo leve como Compton .
Compton
Compton é um compositor leve para o X, e um fork de xcompmgr-dana.
De acordo com o Man Pages , o Compton tem a opção de inverter as cores uma janela.
por exemplo:
compton --invert-color-include <CONDITION>
A condição pode ser o WM_CLASS de uma janela, para encontrar o "WM_CLASS" em uma janela você pode executar o comando xprop
-
xprop | grep WM_CLASS
Em seguida, o cursor será um "Cross" e você poderá clicar na janela desejada para encontrar o WM_CLASS.
Agora você deve ter algo assim:
WM_CLASS (STRING)="leafpad", "Leafpad"
A segunda string deve ser WM_CLASS "Leafpad" .
Então, para inverter as cores do editor do Leafpad, você deve executar:
-
compton --invert-color-include 'class_g="Leafpad"'
Em alguns casos, você pode querer inverter apenas algumas janelas de um programa (por exemplo, inverter a janela do editor, mas não a caixa de diálogo "salvar arquivo").
Para isso você pode usar o primeiro dos dois WM_CLASS
strings (também chamados de "instance"):
-
compton --invert-color-include '(class_g="Leafpad" && class_i="leafpad")'
Você não precisa executar o compton o tempo todo, você pode executá-lo quando precisar inverter as cores de uma janela.
NOTA: Neste exemplo estou executando o Lubuntu 13.04 com o openbox como gerenciador de janelas, mas sem o compositor por padrão.
Para instalar o Compton
Esse compositor possui o PPA
1) Para instalar o compton, abra um Terminal e digite:
-
sudo add-apt-repository ppa:richardgv/compton
-
sudo apt-get update && sudo apt-get install compton
Neste exemplo, criarei um script Bash básico (não sou especialista em scripts) para detectar a janela ativa e inverter suas cores.
2) Crie o script.
-
sudo apt-get install xdotool
-
mkdir ~/Scripts
-
nano ~/Scripts/invert.sh
O conteúdo do script:
#! /bin/bash
if [ "$(pidof compton)" ];
then
pkill compton
else
ID=$(xdotool getactivewindow)
CLASS=$(xprop -id "$ID" | grep "WM_CLASS" | awk '{print }')
COND="class_g=${CLASS}"
compton --invert-color-include "$COND" &
fi
exit
Basicamente, o script verificará se o compton está em execução, se não rodando o xdotool encontrará o id da janela da janela ativa, com o id xprop vai encontrar o WM_CLASS, em seguida, com o WM_CLASS ele irá criar a condição e finalmente será executado compton com a condição como argumento.
Torne o script executável.
-
chmod +x ~/Scripts/invert.sh
No meu caso, vou criar um link para o diretório / usr / bin / com o nome "invert-color"
-
sudo ln -s ~/Scripts/invert.sh /usr/bin/invert-color
3) crie um atalho de teclado por exemplo: Ctrl + Alt + U (No Lubuntu você deve editar o arquivo lubuntu-rc.xml)
-
leafpad ~/.config/openbox/lubuntu-rc.xml
Adicione as seguintes linhas:
<!-- Launch invert-color activewindow on Ctrl + Alt + U--> <keybind key="C-A-U"> <action name="Execute"> <command>invert-color</command> </action> </keybind>
Finalmente, você pode fazer logout e login para ver as alterações no atalho de teclado.
Minha intenção é quando eu preciso inverter as cores na janela ativa, eu posso fazê-lo com o atalho Ctrl + Alt + U Se eu quiser voltar às cores normais, pressionarei novamente o atalho e o script detectará que o compton está sendo executado, portanto, o comando pkill matará o compton do processo.
Então, dessa forma, só executarei o compositor quando precisar dele.
Aqui você tem algumas capturas de tela:
Espero que ajude.