La única forma en que puedo pensar es que no es muy elegante. Puede tener una secuencia de comandos ejecutándose en segundo plano que cuente la cantidad de ventanas abiertas de Firefox cada segundo e inicie su comando si ese número cambia. 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
Guarde el script anterior como firefox
, póngalo en su ~/bin
directorio y hágalo ejecutable chmod a+x ~/bin/firefox
. Dado que Ubuntu agrega ~/bin
a su $PATH
valor predeterminado y lo agrega antes que cualquier otro directorio, la ejecución firefox
iniciará ese script en lugar del ejecutable normal de Firefox. Ahora, debido a que el script se está iniciando /usr/bin/firefox
, esto significa que su Firefox normal aparecerá, tal como espera, solo con el script ejecutándose también. El script se cerrará tan pronto como cierre firefox.
DESCARGO DE RESPONSABILIDAD:
Este guión es
- No es elegante, debe ejecutarse como un bucle infinito en segundo plano.
- Requiere
xdotool
, instalarlo consudo apt-get install xdotool
- No funciona para pestañas, solo para ventanas.