Saya mencoba memulai aplikasi dalam Ubuntu (xfce atau gnome) dan melalui baris perintah dan bertanya-tanya apakah ada cara umum untuk mengatur dimensi jendela tertentu dari aplikasi tertentu yang sedang berjalan?
sumber
Saya mencoba memulai aplikasi dalam Ubuntu (xfce atau gnome) dan melalui baris perintah dan bertanya-tanya apakah ada cara umum untuk mengatur dimensi jendela tertentu dari aplikasi tertentu yang sedang berjalan?
Ini lebih mudah dilakukan jika Anda menginstal sesuatu seperti xdotool
. Maka Anda dapat melakukan:
xdotool search --name "window name" windowsize 300 400
ganti "nama jendela" dengan nama atau reg yang muncul di judul jendela (Anda juga dapat mencari berdasarkan kelas jendela dan berbagai hal lainnya), dan dua angka yang muncul setelah ukuran jendela masing-masing adalah lebar dan tinggi. (Anda juga dapat menggunakan persen, dll.) Lihat man xdotool
begitu diinstal.
Jika Anda menggunakan Lucid atau sebelumnya, saya sarankan pergi ke situs web xdotool untuk mendapatkan versi yang lebih baru.
Untuk mengubah ukuran Firefox, misalnya:
xdotool search --name "Mozilla Firefox" windowsize 1024 768
Jika manajer jendela mendukung Xlib ada. Ini menggunakan Python untuk mengatur ukuran jendela ke 500x300:
Bagian yang sulit adalah mendapatkan ID jendela; dalam kode di atas mendapat ID dari jendela aktif. Jika Anda menginginkan ID lain, Anda dapat menggunakan sesuatu seperti ini untuk mendapatkan judul dan mengendalikan PID dari setiap jendela, dan memilih ID yang tepat berdasarkan pada mereka:
sumber
print pid
saya mendapatkan<Xlib.protocol.request.GetProperty serial = 15, data = {'bytes_after': 0, 'property_type': 6, 'value': (32, array('I', [5810L])), 'sequence_number': 15}, error = None>
... ada saran untuk mengisolasi PID yang sebenarnya?name
.get_full_property
dan lakukan.value[0]
(value
adalah array )Khusus untuk XFCE ada pyxfce yang akan memungkinkan Anda melakukannya menggunakan bahasa python . Pyxfce adalah API yang, antara lain, memungkinkan Anda berkomunikasi dengan manajer jendela . Untuk menggunakan ini dari baris perintah akan mengharuskan Anda untuk menyiapkan skrip terlebih dahulu.
Bergantung pada penggunaan Anda, pentingnya menggunakan API berbasis X menggunakan ID X window (seperti python-xlib atau xdotools yang disebutkan dalam jawaban lain) dibandingkan yang lain yang menggunakan string yang cocok dengan judul jendela (seperti wmctrl), adalah tidak ada kebingungan antara windows, yang mungkin memiliki kata kunci yang sama di judul masing-masing.
sumber
sumber
Saya menemukan wmctrl paling cocok untuk saya. Ini tersedia sebagai paket bertubuh kecil, untuk Ubuntu dan untuk Raspbian, dan kemungkinan untuk distro lain juga.
sumber