Saya pikir xdotool getactivewindowapa yang Anda inginkan - apakah Anda mencobanya?
Ia mencetak id jendela (dari tumpukan jendela) jika tidak ada lagi sub perintah xdotool pada baris perintah.
Sebagai xdotool getactivewindow getwindowpidcontoh, getactivewindowletakkan id di tumpukan jendela, dan getwindowpidgunakan id ini untuk menanyakan PID. Perhatikan bahwa menjalankan perintah itu di terminal akan selalu mengembalikan ID dari jendela terminal, karena itu aktif. Untuk mendapatkan ID dari jendela lain, coba sleep 2s && xdotool getactivewindowdan pilih jendela yang diinginkan dalam rentang waktu dua detik.
Ada komplikasi saat menggunakan xdotooldengan alat lain untuk penanganan jendela:
Sementara xdotooloutput menggunakan angka desimal untuk windwo id, sebagian besar alat lain menggunakan angka heksadesimal untuk output (mereka mendukung keduanya untuk input biasanya).
Misalnya, jika Anda menemukan jendela dengan xdotool getactivewindow, Anda tidak akan menemukan hasil dalam output xwininfo -root -tree, yang mencantumkan semua jendela. Itu perlu dikonversi ke angka heksadesimal terlebih dahulu:
Saya mencoba xdotool getactivewindowperintah dan masalahnya adalah tidak mencetak hasil di terminal. Ini menyimpan hasil ke tumpukan jendela. Perintah ini mencetak beberapa nomor tetapi ini bukan id jendela (mis. 35651588)
Mariusz
Mengapa menurut Anda 35651588 bukan id jendela?
Volker Siegel
Ya, saya pikir 35651588 bukan id jendela. Anda dapat melihat id windows dengan perintah xwininfo, mis. xwininfo -root -tree- perintah ini mencetak semua jendela dan windows memiliki jenis penomoran lain.
Mariusz
1
xwininfomenunjukkan id jendela sebagai angka heksadesimal, dan xdotool menunjukkan angka desimal, tetapi sama saja.
xdotool getactivewindow
perintah dan masalahnya adalah tidak mencetak hasil di terminal. Ini menyimpan hasil ke tumpukan jendela. Perintah ini mencetak beberapa nomor tetapi ini bukan id jendela (mis. 35651588)xwininfo -root -tree
- perintah ini mencetak semua jendela dan windows memiliki jenis penomoran lain.xwininfo
menunjukkan id jendela sebagai angka heksadesimal, dan xdotool menunjukkan angka desimal, tetapi sama saja.xwininfo -root -tree | grep 2200004 0x2200004 "user@host:~": ("gnome-terminal" "Gnome-terminal") 1680x974+0+26 +0+51
Perintah ini bekerja untuk saya
xdotool versi 3.20160805.1
sumber
xdotool getactivewindow key F5
harus menghasilkan hasil yang sama