Perintah Shell untuk membawa jendela program di depan yang lain?


Jawaban:


14

catatan:

  • Informasi lebih lanjut tentang xdotool dapat ditemukan di sini .

Yakin mengedit posting Anda sama seperti saya menyusun posting saya ... :()
frabjous

Anda dapat menemukan nama jendela Anda dengan wmctrl -l Namanya adalah teks setelah tanda hubung terakhir: <window ID> <desktop ID> <client machine> <window title>
jorfus

8

Pilihan lain adalah xdotool :

xdotool search --class Nautilus windowactivate


2
Gagal bagi saya denganXGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
Tino

Mungkin bug di sini - menurut pengalaman saya --classname atau --name (jika diketahui) terkadang bekerja ketika --class tidak.
frabjous

Dalam kasus saya adalah mungkin untuk menaikkan jendela menggunakan ID dari xwininfodan mengeluarkan beberapa xdotoolperintah berbeda tambahan (yang saya tidak ingat lagi). Ketika saya mencoba untuk mengotomatisasi itu (untuk menghilangkan xwininfo) saya mendapat artefak visual karena jika tidak ada jendela tersembunyi yang dipilih juga. Saya hanya menemukan tidak ada cara umum untuk mengatasi windows sewenang-wenang dengan benar. Setelah beralih ke wmctrl -asemuanya segera bekerja dengan sempurna di luar kotak tanpa tweaker lebih lanjut. Harap dicatat bahwa saya suka xdotool, tetapi tampaknya sulit untuk menaikkan jendela yang tepat dengannya.
Tino

2

Saat 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 satu forlingkaran di tingkat shell. Menggunakan Bash:

for WINDOW in $(xdotool search --desktop 0 Firefox); do
   xdotool windowactivate ${WINDOW}
done

Beberapa komentar:

  • Secara default, xdotool searchakan mencari pola (di sini Firefox) di nama jendela, kelas, dan nama kelas. Jika Anda ingin membatasi ruang pencarian Anda, gunakan opsi yang relevan --class, --nameatau --classname.
  • The --desktop 0pilihan membatasi pencarian ke desktop pertama. Ini tampaknya menjadi solusi untuk menghindari yang XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)disebutkan dalam beberapa komentar.
  • Pada saat penulisan ini, xdotoolproyek ini macet sejak tahun 2015. Ini masih menjadi alat pilihan saya. Untuk alasan pribadi, Jordan Sissel (penulis asli) tidak seaktif dia, jadi jangan ragu untuk berkontribusi pada proyek.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.