Pendekatan lain adalah dengan menggunakan wmctrl
utilitas (kontrol Window Manager). Ini dapat digunakan untuk memberi tahu pengelola jendela untuk berpura-pura Anda mengklik tombol tutup. Ini menghindari sifat tangan yang berpotensi berat killall
; misalnya, beberapa program dengan dokumen yang belum disimpan akan segera keluar ketika mereka terbunuh (bahkan dengan lembut), sambil mengklik tombol tutup menampilkan "Anda ingin menyimpan?" cepat.
Perintah dasarnya adalah wmctrl -c WINDOWTITLE
, jadi dalam kasus ini wmctrl -c "Archive Manager"
(dengan asumsi ia tidak memiliki file terbuka: yang mengubah judul). Sayangnya, itu hanya menutup satu per satu, jadi kita perlu berbuat lebih banyak untuk menutup semuanya.
wmctrl
mengembalikan kesuksesan jika menemukan kecocokan, sehingga kami dapat mengulang sampai gagal:
while wmctrl -c "Archive Manager"; do sleep 0.1; done
Ini selalu memilih jendela pertama yang ditemukannya, jadi kita perlu tidur sebentar untuk menghindari mengirimkan aliran perintah tutup ke jendela pertama yang sudah sibuk ditutup - yang dapat menyebabkan kesalahan yang menghentikan loop.
Ini sederhana dan biasanya berhasil, tetapi tidur dalam jumlah waktu yang ditentukan dan berharap jendela ditutup sebelum kita coba lagi adalah cara yang berantakan dan lambat untuk menghindari kesalahan. Yang ingin kami lakukan adalah segera mengirim satu pesan dekat ke setiap jendela yang cocok.
Kita dapat menemukan semua jendela yang terbuka wmctrl -l
. Ini mencantumkan nomor jendela numerik yang dapat kita gunakan untuk mengidentifikasi setiap jendela satu per satu, walaupun mereka semua memiliki judul yang sama. Maka kita perlu memfilter hanya ke jendela yang cocok ( grep
perintah), tarik keluar hanya id jendela ( cut
perintah) dan memanggil wmctrl -i -c
masing-masing. The -i
diperlukan untuk mencocokkan jendela id bukan judul jendela.
for w in $(wmctrl -l | grep "Archive Manager" | cut -d" " -f1); do
wmctrl -i -c $w
done
Agak rumit untuk hanya mengetik setiap kali kucing menginjak keyboard Anda, tetapi mudah-mudahan teknik praktis untuk disimpan dalam kotak alat skrip Anda.
kill cat
tindakan yang saya sarankan.