Saya ingin mendapatkan ukuran jendela saat ini dari skrip shell ...
Sungguh tidak banyak lagi yang bisa dikatakan ... Saya lebih suka menggunakan wmctrl.
sumber
Saya ingin mendapatkan ukuran jendela saat ini dari skrip shell ...
Sungguh tidak banyak lagi yang bisa dikatakan ... Saya lebih suka menggunakan wmctrl.
wmctrl -lG
Akan memberi Anda sesuatu seperti:
oli@bert:~$ wmctrl -lG
0x0384c0d5 -1 1590 1030 330 170 bert N/A
0x01200023 -1 0 0 3840 1200 bert x-nautilus-desktop
0x01000003 -1 3840 2352 1920 24 bert Bottom Expanded Edge Panel
0x01000028 -1 0 2352 1920 24 bert Bottom Expanded Edge Panel
0x0500003e 0 676 252 1404 1015 bert Chromium
0x02e00021 0 3860 160 1361 1084 bert Liferea
0x02000047 0 6650 940 506 683 bert Social broadcast messages
0x04600004 0 4546 460 1263 833 bert oli@bert: ~
Dengan ini, Anda dapat grep
dan cut
turun pada ini sehingga Anda dibiarkan dengan nilai-nilai geometri (kolom 3-6).
Mengutip halaman manual sehingga Anda mengerti persis apa kolomnya:
-l
Daftar jendela yang dikelola oleh manajer jendela. Satu baris adalah output untuk setiap jendela, dengan garis dipecah menjadi kolom-kolom yang dipisahkan ruang. Kolom pertama selalu berisi identitas jendela sebagai bilangan bulat heksadesimal, dan kolom kedua selalu berisi nomor desktop (-1 digunakan untuk mengidentifikasi jendela lengket). Jika opsi -p ditentukan, kolom berikutnya akan berisi PID untuk jendela sebagai bilangan bulat desimal. Jika opsi -G ditentukan maka empat kolom bilangan bulat akan mengikuti: x-offset, y-offset, lebar dan tinggi. Kolom berikutnya selalu berisi nama mesin klien. Sisa baris berisi judul jendela (mungkin dengan beberapa spasi di judul).
I belive wmctrl tidak memiliki opsi untuk menemukan id jendela aktif secara langsung.
Jika seseorang tahu bagaimana melakukannya, saya tertarik untuk tahu ..
Yang mengatakan, berikut adalah beberapa skrip yang mencetak ukuran jendela aktif.
Ini adalah: wmctrl + xdotool ... (tidak menggunakan sed).
Ini adalah: xwininfo + xdotool + sed
xwininfo
bagian darix11-utils
sumber
Gunakan
xprop
atauxwininfo
. Keduanya datang secara default, tidak perlu menginstalContoh penggunaan:
Kedua perintah mengubah kursor menjadi kuadrat / silang untuk memungkinkan memilih jendela tertentu.
Atau, seseorang dapat menentukan jendela pada baris perintah dalam bentuk XID
Posting lain di mana ini digunakan
Secara khusus,,
xwininfo
telah digunakan secara aktif oleh saya untuk skrip, seperti pada pertanyaan AskUbuntu ini:sumber
Script shell tidak tahu atau tidak peduli tentang windows. Paling-paling mereka berjalan di terminal (yang mungkin atau mungkin tidak ditampilkan di jendela). Jika Anda ingin mendapatkan lebar dan tinggi terminal dalam karakter, gunakan utilitas stty.
sumber
Saya menemukan
tput cols
bekerja dengan sangat baik!sumber
wmctrl
, kita tidak berbicara tentang konsol tetapi windows environment grafis.Punya 3 layar, output 3 baris ini dengan dimensi:
sumber