Saya memiliki lingkungan kerja tertentu dengan puluhan Windows yang terbuka. Bagaimana saya bisa membawa ke depan sebuah jendela dengan nama / judul yang diketahui secara terprogram atau menggunakan baris perintah?
14
Saya memiliki lingkungan kerja tertentu dengan puluhan Windows yang terbuka. Bagaimana saya bisa membawa ke depan sebuah jendela dengan nama / judul yang diketahui secara terprogram atau menggunakan baris perintah?
xdotool windowraise
membawa jendela ke depan tetapi tidak memberikan fokus ke jendela atau beralih ke desktop dengan jendela. sebaliknya,windowactivate
akan melakukan ketiganya.Nah, setelah
sudo apt-get install wmctrl
-ing, Anda bisa bermain dengan skrip bash ini:Yang saya temukan di sini
sumber
if ! wmctrl -l | grep -q "$WINTITLE"
wmctrl
memiliki-i
opsi, yang mendukung bekerja dengan jendela dengan pengenal heksanya. Jadi Anda dapat melakukan iniwmctrl -lp|grep 'whatever incomplete name'|cut -d' ' -f1|xargs wmctrl -ai
- yang akan melakukan hal serupaSaat menggunakan
xdotool
, tampaknya sulit untuk membawa ke depan semua jendela untuk aplikasi atau kelas yang diberikan hanya dengan satu perintah. Saya akhirnya memiliki hasil yang lebih baik dengan membungkusnya dalam satufor
lingkaran di tingkat shell. Menggunakan Bash:Beberapa komentar:
xdotool search
akan mencari pola (di siniFirefox
) di nama jendela, kelas, dan nama kelas. Jika Anda ingin membatasi ruang pencarian Anda, gunakan opsi yang relevan--class
,--name
atau--classname
.--desktop 0
pilihan membatasi pencarian ke desktop pertama. Ini tampaknya menjadi solusi untuk menghindari yangXGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
disebutkan dalam beberapa komentar.xdotool
proyek ini macet sejak tahun 2015. Itu masih menjadi alat pilihan saya. Untuk alasan pribadi, Jordan Sissel (penulis asli) tidak seaktif dulu, jadi jangan ragu untuk berkontribusi pada proyek.Ini adalah salinan dari jawaban yang saya posting di AskUbuntu , tapi saya rasa ini adalah Linux-flavor independent, jadi mungkin berguna di sini juga.
sumber