A única maneira que consigo pensar não é muito elegante. Você pode ter um script em execução em segundo plano que conte o número de janelas abertas do firefox a cada segundo e inicie seu comando se esse número for alterado. Algo como:
#!/usr/bin/env bash
## Run firefox
/usr/bin/firefox &
## Initialize the variable to 100
last=100;
## Start infinite loop, it will run while there
## is a running firefox instance.
while pgrep firefox >/dev/null;
do
## Get the number of firefox windows
num=$(xdotool search --name firefox | wc -l)
## If this number is less than it was, launch your commands
if [ "$num" -lt "$last" ]
then
rm -rf ~/.wine-pipelight/*;
## I included this since you had it in your post but it
## does exactly the same as the command above.
rm -rf ~/.wine-pipelight/./.*;
cp -a ~/viewright_backup/. ~/.wine-pipelight
fi
## Save the number of windows as $last for next time
last=$num
## Wait for a second so as not to spam your CPU.
## Depending on your use, you might want to make it wait a bit longer,
## the longer you wait, the lighter the load on your machine
sleep 1
done
Salve o script acima como firefox
, coloque-o no diretório ~/bin
e torne-o executável chmod a+x ~/bin/firefox
. Como o Ubuntu adiciona ~/bin
ao seu $PATH
por padrão e o adiciona antes de qualquer outro diretório, executar firefox
iniciará esse script em vez do executável normal do firefox. Agora, como o script está iniciando /usr/bin/firefox
, isso significa que o seu firefox normal será exibido, exatamente como esperado, apenas com o script em execução também. O script sairá assim que você fechar o firefox.
TERMO DE RESPONSABILIDADE:
Este script é
- Não elegante, ele precisa ser executado como um loop infinito no plano de fundo.
- Requer
xdotool
, instale-o comsudo apt-get install xdotool
- Não funciona para guias, apenas janelas.