Satu-satunya cara yang bisa saya pikirkan adalah tidak terlalu elegan. Anda dapat memiliki skrip yang berjalan di latar belakang yang menghitung jumlah jendela firefox terbuka setiap detik dan meluncurkan perintah Anda jika nomor itu berubah. Sesuatu seperti:
#!/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
Simpan skrip di atas sebagai firefox
, letakkan di ~/bin
direktori Anda dan buat itu dapat dieksekusi chmod a+x ~/bin/firefox
. Karena Ubuntu menambahkan ~/bin
ke Anda $PATH
secara default dan menambahkannya sebelum direktori lain, menjalankan firefox
akan meluncurkan skrip itu alih-alih executable firefox normal. Sekarang, karena skrip diluncurkan /usr/bin/firefox
, ini berarti firefox normal Anda akan muncul, seperti yang Anda harapkan, hanya dengan skrip berjalan juga. Script akan keluar segera setelah Anda menutup firefox.
PENOLAKAN:
Script ini adalah
- Tidak elegan, itu harus dijalankan sebagai loop tak terbatas di latar belakang.
- Membutuhkan
xdotool
, menginstalnya dengansudo apt-get install xdotool
- Tidak berfungsi untuk tab, hanya windows.