Ada dua alat penting untuk memanipulasi windows cli
; xdotool
dan wmctrl
. Kedua alat tumpang tindih satu sama lain dalam fungsi, tetapi perintah yang paling penting mengacu pada pertanyaan Anda:
Dalam ikhtisar (tidak diragukan lagi tidak lengkap), daftar perintah yang paling saya gunakan:
Menutup jendela
wmctrl:
wmctrl -ic <window_id>
Meminimalkan jendela
xdotool:
xdotool windowminimize <window_id>
Membatalkan jendela
wmctrl:
un-minimizing secara efektif dilakukan oleh:
wmctrl -ia <window_id>
Saya menyebutkan secara efektif , karena perintah pindah ke desktop yang sesuai, meminimalkan dan menaikkan jendela, tetapi perintah juga melakukan itu pada windows yang tidak diminimalkan.
Memaksimalkan jendela
xdotool:
xdotool windowsize <window_id> 100% 100%
wmctrl:
wmctrl -ir <window_id> -b add,maximized_vert,maximized_horz
Tidak memaksimalkan jendela:
wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz
Catatan
Keduanya xdotool
dan wmctrl
tidak ada di sistem Anda secara default:
sudo apt-get install xdotool wmctrl
Untuk menjalankan perintah di jendela yang sedang aktif :
untuk wmctrl
perintah, hapus -i
opsi, ganti <window_id>
dengan:ACTIVE:
untuk xdotool
perintah: ganti <window_id>
dengan$(xdotool getactivewindow)
Dalam banyak kasus, perintah dapat dijalankan dengan menggunakan id jendela atau nama jendela . The -i
pilihan di wmctrl
memberitahu wmctrl
menggunakan jendela id. Saya sarankan tidak menggunakan nama jendela sebagai pengidentifikasi, untuk mencegah bentrokan nama. Ini terjadi lebih mudah daripada yang Anda harapkan.
- Dari pengalaman saya sendiri, menggunakan memaksimalkan dalam skrip; Menggunakan
wmctrl
untuk memaksimalkan / unmaximize bisa jadi agak buggy pada keduanya Unity
dan Gnome
, sementara xdotool
opsi bekerja lebih kuat dalam pengalaman saya. Dalam sebagian besar skrip, saya akhirnya menggunakan campuran keduanya wmctrl
dan xdotool
.
Info lebih lanjut tentang man wmctrl dan man xdotool (terutama bagian: WINDOW COMMANDS ).