Ini adalah perintah xdotool yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
xdotool - alat otomatisasi X11 baris perintah
RINGKASAN
xdotool cmd argumen...
Notasi: Beberapa dokumentasi menggunakan [jendela] untuk menunjukkan argumen jendela opsional. Ini
case berarti argumen, jika tidak ada, akan default ke "%1". Lihat "WINDOW STACK" untuk
apa artinya "%1".
DESKRIPSI
xdotool memungkinkan Anda secara terprogram (atau manual) mensimulasikan input keyboard dan aktivitas mouse,
memindahkan dan mengubah ukuran jendela, dll. Ini dilakukan dengan menggunakan ekstensi XTEST X11 dan Xlib lainnya
fungsi.
Ada beberapa dukungan untuk Extended Window Manager Hints (alias EWMH atau NetWM). Lihat
Bagian "PETUNJUK MANAJER JENDELA DIPERPANJANG" untuk informasi lebih lanjut.
KEYBOARD PERINTAH
kunci [pilihan] keystroke [keystroke ...]
Pilihan:
--jendela jendela
Kirim penekanan tombol ke id jendela tertentu. Anda dapat menggunakan referensi "WINDOW STACK"
seperti "%1" dan "%@" di sini. Jika ada tumpukan jendela, maka "%1" adalah default,
jika tidak, jendela saat ini digunakan.
Lihat juga: "CATATAN KIRIM" dan "WINDOW STACK"
--pengubah jelas
Hapus pengubah sebelum mengirim penekanan tombol. Lihat CLEARMODIFIER di bawah ini.
--menunda milidetik
Penundaan antara penekanan tombol. Standarnya adalah 12ms.
Ketik penekanan tombol yang diberikan. Contohnya adalah "alt+r", "Control_L+J", "ctrl+alt+n",
"Menghapus".
Secara umum, string X Keysym yang valid akan berfungsi. Beberapa kunci dipisahkan oleh '+'.
Alias ada untuk "alt", "ctrl", "shift", "super", dan "meta" yang semuanya dipetakan ke Foo_L,
seperti Alt_L dan Control_L, dll.
Jika keyboard Anda sebenarnya tidak memiliki kunci yang ingin Anda ketik, xdotool
akan secara otomatis menemukan kode kunci yang tidak digunakan dan menggunakannya untuk mengetik kunci.
Sehubungan dengan "COMMAND CHAINING", perintah ini menghabiskan sisa
argumen atau sampai perintah xdotool baru terlihat, karena tidak ada perintah xdotool yang
penekanan tombol yang valid.
Contoh: Kirim keystroke "F2"
xdotool kunci F2
Contoh: Kirim 'a' dengan aksen di atasnya (bukan pada keyboard bahasa Inggris, tetapi masih berfungsi
dengan xdotool)
kunci xdotool Aacute
Contoh: Kirim ctrl+l lalu BackSpace sebagai penekanan tombol terpisah:
xdotool kunci ctrl+l BackSpace
Contoh: Kirim ctrl+c ke semua jendela yang cocok dengan judul 'gdb' (Lihat "COMMAND CHAINING")
pencarian xdotool --nama kunci gdb ctrl+c
kunci bawah [pilihan] keystroke
Sama seperti di atas, kecuali hanya event keydown (tekan) yang dikirim.
keyup keystroke
Sama seperti di atas, kecuali hanya acara keyup (rilis) yang dikirim.
mengetik [pilihan] sesuatu untuk mengetik
Pilihan:
--jendela jendela
Kirim penekanan tombol ke id jendela tertentu. Lihat "CATATAN PENGIRIMAN" di bawah. default,
jika tidak ada jendela yang diberikan, tergantung pada tumpukan jendela. Jika tumpukan jendela kosong
jendela saat ini diketik menggunakan XTEST. Jika tidak, defaultnya adalah "%1" (lihat
"TUMPUKAN JENDELA").
--menunda milidetik
Penundaan antara penekanan tombol. Standarnya adalah 12ms.
--pengubah jelas
Hapus pengubah sebelum mengirim penekanan tombol. Lihat CLEARMODIFIER di bawah ini.
Ketik seolah-olah Anda telah mengetiknya. Mendukung baris dan tab baru (baris dan tab ASCII baru). Setiap
keystroke dipisahkan oleh penundaan yang diberikan oleh --menunda .
Sehubungan dengan "COMMAND CHAINING", perintah ini menghabiskan sisa
argumen dan ketik mereka. Artinya, tidak ada perintah yang dapat dirangkai setelah 'ketik'.
Contoh: untuk mengetik 'Halo dunia!' Anda akan melakukan:
xdotool ketik 'Halo dunia!'
MOUSE PERINTAH
gerakan mouse [pilihan] x y OR 'memulihkan'
Gerakkan mouse ke koordinat X dan Y tertentu di layar.
Anda dapat memindahkan mouse ke lokasi sebelumnya jika Anda menentukan 'pulihkan' alih-alih
koordinat X dan Y. Memulihkan hanya berfungsi jika Anda telah pindah sebelumnya di tempat yang sama
seruan perintah. Selanjutnya, itu tidak berfungsi dengan opsi --window.
Misalnya, untuk mengklik sudut kiri atas layar dan menggerakkan mouse ke
posisi asli sebelum Anda memindahkannya, gunakan ini:
xdotool mousemove 0 0 klik 1 mousemove restore
--jendela WINDOW
Tentukan jendela untuk dipindahkan relatif. Koordinat 0,0 berada di kiri atas
jendela yang Anda pilih.
Referensi "WINDOW STACK" valid di sini, seperti %1 dan %@. Padahal, menggunakan %@
mungkin tidak masuk akal.
--layar LAYAR
Gerakkan mouse ke layar yang ditentukan untuk dipindahkan. Ini hanya berguna jika Anda memiliki
beberapa layar dan TIDAK menggunakan Xinerama.
Standarnya adalah layar saat ini. Jika Anda menentukan --window, flag --screen adalah
diabaikan.
--kutub
Gunakan koordinat kutub. Ini membuat 'x' menjadi sudut (dalam derajat, 0-360, dll) dan 'y'
jarak.
Rotasi dimulai dari 'atas' (0 derajat) dan berputar searah jarum jam: 90 = kanan, 180 = bawah,
270 = kiri.
Asal default ke tengah layar saat ini. Jika Anda menentukan
--window, maka asalnya adalah pusat dari jendela itu.
--pengubah jelas
Lihat CLEARMODIFIER
--sinkronisasi
Setelah mengirimkan permintaan pemindahan mouse, tunggu hingga mouse benar-benar digerakkan. Jika
tidak ada gerakan yang diperlukan, kami tidak akan menunggu. Ini berguna untuk skrip yang bergantung
pada tindakan yang diselesaikan sebelum melanjutkan.
Catatan: Kami menunggu sampai mouse bergerak sama sekali, belum tentu itu benar-benar
mencapai tujuan yang Anda tuju. Beberapa aplikasi mengunci kursor mouse ke
bagian layar tertentu, jadi menunggu gerakan apa pun lebih baik di
kasus umum daripada menunggu target tertentu.
mousemove_relative [pilihan] x y
Gerakkan mouse x,y piksel relatif terhadap posisi kursor mouse saat ini.
--kutub
Gunakan koordinat kutub. Ini membuat 'x' menjadi sudut (dalam derajat, 0-360, dll) dan 'y'
jarak.
Rotasi dimulai dari 'atas' (0 derajat) dan berputar searah jarum jam: 90 = kanan, 180 = bawah,
270 = kiri.
--sinkronisasi
Setelah mengirimkan permintaan pemindahan mouse, tunggu hingga mouse benar-benar digerakkan. Jika
tidak ada gerakan yang diperlukan, kami tidak akan menunggu. Ini berguna untuk skrip yang bergantung
pada tindakan yang diselesaikan sebelum melanjutkan.
Perhatikan bahwa kita menunggu sampai mouse bergerak sama sekali, belum tentu itu benar-benar
mencapai tujuan yang Anda tuju. Beberapa aplikasi mengunci kursor mouse ke
bagian layar tertentu, jadi menunggu gerakan apa pun lebih baik di
kasus umum daripada menunggu target tertentu.
--pengubah jelas
Lihat CLEARMODIFIER
Klik [pilihan] tombol
Kirim klik, yaitu, mousedown diikuti oleh mouseup untuk tombol yang diberikan dengan
penundaan singkat antara keduanya (saat ini 12 ms).
Tombol umumnya memetakan dengan cara ini: Mouse kiri adalah 1, tengah adalah 2, kanan adalah 3, roda ke atas adalah
4, roda ke bawah adalah 5.
--pengubah jelas
Hapus pengubah sebelum mengklik. Lihat CLEARMODIFIER di bawah ini.
--mengulang ULANGI
Tentukan berapa kali untuk mengklik. Standarnya adalah 1. Untuk klik dua kali, gunakan '--repeat
2'
--menunda JUTA DETIK
Tentukan berapa lama, dalam milidetik, untuk menunda di antara klik. Pilihan ini tidak
digunakan jika --mengulang bendera diatur ke 1 (default).
--jendela WINDOW
Tentukan jendela untuk mengirim klik. Lihat "CATATAN KIRIM" di bawah untuk peringatan. menggunakan
posisi mouse saat ini saat membuat acara.
Standarnya, jika tidak ada jendela yang diberikan, tergantung pada tumpukan jendela. Jika jendela
stack kosong jendela saat ini diketik menggunakan XTEST. Jika tidak, default
adalah "%1" (lihat "TUMPUKAN JENDELA").
mouse ke bawah [pilihan] tombol
Sama dengan Klik, kecuali hanya mouse ke bawah yang dikirim.
mouse up [pilihan] tombol
Sama dengan Klik, kecuali hanya mouse ke atas yang dikirim.
getmouselokasi [--kerang]
Menampilkan x, y, layar, dan id jendela kursor mouse. Nomor layar akan menjadi
bukan nol jika Anda memiliki banyak monitor dan tidak menggunakan Xinerama.
--kerang
Ini membuat data shell keluaran getmouselocation dapat Anda evaluasi. Contoh:
% xdotool getmouselocation --shell
X = 880
Y = 443
LAYAR = 0
JENDELA=16777250
% eval $(xdotool getmouselocation --shell)
% gema $X,$Y
714,324
berperilaku_layar_tepi [pilihan] dimana Command ...
Mengikat tindakan ke peristiwa saat mouse menyentuh tepi atau sudut layar.
Pilihannya adalah:
--menunda JUTA DETIK
Penundaan dalam milidetik sebelum menjalankan perintah. Ini memungkinkan Anda untuk meminta
tepi atau sudut yang diberikan untuk ditahan sebentar sebelum perintah Anda dijalankan.
Jika Anda meninggalkan tepi atau sudut sebelum penundaan berakhir maka waktu akan diatur ulang.
--keheningan JUTA DETIK
Delay dalam milidetik sebelum perintah berikutnya akan dijalankan. Ini membantu mencegah
secara tidak sengaja menjalankan perintah Anda waktu ekstra; sangat berguna jika Anda memiliki
sangat pendek --delay (seperti default 0).
Garis waktu acara
* Mouse menyentuh tepi atau sudut.
* Jika waktu tunda bukan nol, mouse harus tetap berada di tepi atau sudut ini sampai waktu tunda habis.
* Jika masih di tepi/sudut, picu.
* Jika quiesce bukan nol, maka ada periode cool-down di mana selanjutnya
pemicu tidak dapat terjadi
Nilai 'di mana' yang valid adalah:
meninggalkan
kiri atas
puncak
kanan atas
benar
kiri bawah
dasar
kanan bawah
contoh:
# Aktifkan google-chrome saat Anda menggerakkan mouse ke pojok kiri bawah:
xdotool behavior_screen_edge kiri bawah \
cari --class google-chrome windowactivate
# Pergi ke ruang kerja berikutnya (kanan). Dikenal bekerja di GNOME (metacity dan compiz)
xdotool behavior_screen_edge --delay 500 tombol kanan bawah XF86Forward
# Aktifkan firefox dan lakukan pencarian web di tab baru untuk teks di clipboard Anda
xdotool behavior_screen_edge --delay 1000 kiri atas \
cari --classname Navigator \
windowactivate --sync key --delay 250 ctrl+t ctrl+k ctrl+v Kembali
WINDOW PERINTAH
Cari [pilihan] belt hold
Cari jendela dengan judul, nama, atau kelas dengan pola ekspresi reguler.
Outputnya adalah daftar pengidentifikasi jendela X yang dibatasi baris. Jika Anda menggunakan "COMMAND
CHAINING", perintah pencarian hanya akan menulis id jendela ke stdout jika itu yang terakhir
(atau hanya) perintah dalam rantai; jika tidak, itu diam.
Hasilnya disimpan ke tumpukan jendela untuk perintah berantai di masa mendatang. Lihat "JENDELA
STACK" dan "COMMAND CHAINING" untuk detailnya.
Opsi default adalah "--name --class --classname" (kecuali jika Anda menentukan satu atau
lebih dari --name --class atau --classname).
Opsi yang tersedia adalah:
--kelas
Pertandingan melawan kelas jendela.
--nama kelas
Cocokkan dengan nama kelas jendela.
--maks kedalaman N
Atur kedalaman pencarian rekursi/anak. Defaultnya adalah -1, artinya tak terbatas. 0 berarti tidak
kedalaman, hanya jendela root yang akan dicari. Jika Anda hanya ingin jendela tingkat atas, atur
kedalaman maksimal 1 (atau 2, tergantung pada bagaimana manajer jendela Anda melakukan dekorasi).
--nama
Cocokkan dengan nama jendela. Ini adalah string yang sama yang ditampilkan di
bilah judul jendela.
--hanya terlihat
Tampilkan hanya jendela yang terlihat di hasil. Ini berarti yang memiliki status peta
Dapat Dilihat.
--pid PID
Cocokkan jendela yang dimiliki oleh id proses tertentu. Ini mungkin tidak bekerja untuk beberapa X
aplikasi yang tidak menyetel metadata ini di jendelanya.
--layar N
Pilih jendela hanya pada layar tertentu. Default adalah untuk mencari semua layar. Hanya
berarti jika Anda memiliki beberapa tampilan dan tidak menggunakan Xinerama.
--Desktop N
Hanya cocokkan windows di desktop tertentu. 'N' adalah angka. Standarnya adalah untuk mencari
semua desktop.
--membatasi N
Berhenti mencari setelah menemukan N jendela yang cocok. Menentukan batas akan membantu
mempercepat pencarian Anda jika Anda hanya ingin beberapa hasil.
Standarnya adalah tidak ada batas pencarian (yang setara dengan '--limit 0')
--judul
TIDAK DIGUNAKAN LAGI. Lihat --nama.
--semua
Mengharuskan semua syarat dipenuhi. Sebagai contoh:
pencarian xdotool --semua --pid 1424 --nama "Halo Dunia"
Ini hanya akan cocok dengan jendela yang memiliki "Hello World" sebagai nama dan dimiliki oleh
nomor 1424.
--setiap
Cocokkan jendela yang cocok dengan kondisi apa pun (secara logika, 'atau'). Ini aktif secara default.
Sebagai contoh:
pencarian xdotool --any --pid 1424 --name "Halo Dunia"
Ini akan cocok dengan semua jendela yang dimiliki oleh pid 1424 atau jendela dengan nama "Hello World"
--sinkronisasi
Blokir sampai ada hasil. Ini berguna saat Anda meluncurkan
aplikasi ingin menunggu sampai jendela aplikasi terlihat. Untuk
contoh:
google-chrome &
pencarian xdotool --sync --onlyvisible --class "google-chrome"
pilih jendela
Dapatkan id jendela (untuk klien) dengan mengkliknya. Berguna untuk memiliki kueri skrip
Anda manusia untuk jendela apa yang harus ditindaklanjuti. Misalnya, mematikan jendela dengan mengkliknya:
xdotool pilih jendela jendela bunuh
berkelakuan jendela tindakan Command ...
Mengikat tindakan ke acara di jendela. Ini memungkinkan Anda menjalankan perintah xdotool tambahan
setiap kali peristiwa yang cocok terjadi.
Perintah dijalankan sebagai hasil dari perilaku yang dijalankan dengan %1 sebagai jendela yang
ditindaklanjuti. Contoh mengikuti setelah daftar acara.
Berikut ini adalah acara yang valid:
mouse-masuk
Kebakaran ketika mouse memasuki jendela. Ini mirip dengan acara 'arahkan mouse' di
javascript, jika itu membantu.
cuti tikus
Kebakaran ketika mouse meninggalkan jendela. Ini adalah kebalikan dari 'mouse-enter'
klik mouse
Kebakaran ketika mouse diklik. Khususnya, ketika tombol mouse dilepaskan.
fokus
Kebakaran ketika jendela mendapat fokus input.
mengaburkan
Kebakaran ketika jendela kehilangan fokus.
contoh:
# Cetak lokasi kursor setiap kali mouse memasuki yang saat ini terlihat
# jendela:
pencarian xdotool --onlyvisible . berperilaku %@ mouse-masukkan getmouselocation
# Cetak judul jendela dan pid setiap kali xterm mendapat fokus
pencarian xdotool --class xterm berperilaku %@ fokus getwindowname getwindowpid
# Meniru fokus-mengikuti-mouse
pencarian xdotool. berperilaku %@ mouse-masuk fokus jendela
dapatkanwindowpid [jendela]
Keluarkan PID yang memiliki jendela tertentu. Ini membutuhkan usaha dari pemilik aplikasi
jendela dan mungkin tidak bekerja untuk semua jendela. Ini menggunakan properti _NET_WM_PID dari
jendela. Lihat "PETUNJUK MANAJER JENDELA YANG DIPERPANJANG" di bawah ini untuk informasi lebih lanjut.
Jika tidak ada jendela yang diberikan, defaultnya adalah '%1'. Jika tidak ada jendela di tumpukan, maka ini
adalah sebuah kesalahan. Lihat "WINDOW STACK" untuk lebih jelasnya.
Contoh: Temukan PID untuk semua xterms:
pencarian xdotool --class xterm getwindowpid %@
dapatkan nama jendela [jendela]
Keluarkan nama jendela yang diberikan, juga dikenal sebagai judul. Ini adalah teks yang ditampilkan
di bilah judul jendela oleh pengelola jendela Anda.
Jika tidak ada jendela yang diberikan, defaultnya adalah '%1'. Jika tidak ada jendela di tumpukan, maka ini
adalah sebuah kesalahan. Lihat "WINDOW STACK" untuk lebih jelasnya.
getwindowgeometri [pilihan] [jendela]
Keluarkan geometri (lokasi dan posisi) dari sebuah jendela. Nilai tersebut meliputi: x, y,
lebar, tinggi, dan nomor layar.
--kerang
Nilai keluaran yang cocok untuk 'eval' dalam shell.
dapatkan fokus jendela [-F]
Mencetak id jendela dari jendela yang saat ini difokuskan. Menyimpan hasilnya ke jendela
tumpukan. Lihat "WINDOW STACK" untuk lebih jelasnya.
Jika jendela saat ini tidak memiliki properti WM_CLASS, kami menganggapnya bukan level atas yang normal
jendela dan melintasi orang tua sampai kami menemukan jendela dengan set WM_CLASS dan
kembalikan id jendela itu.
Jika Anda benar-benar ingin jendela saat ini memiliki fokus dan tidak peduli apakah itu memiliki
Pengaturan WM_CLASS, lalu gunakan 'getwindowfocus -f'
ukuran jendela [opsi] [jendela] lebar tinggi
Atur ukuran jendela dari jendela yang diberikan. Jika tidak ada jendela yang diberikan, %1 adalah default.
Lihat "WINDOW STACK" dan "COMMAND CHAINING" untuk lebih jelasnya.
Persentase berlaku untuk lebar dan tinggi. Mereka relatif terhadap geometri
layar jendela aktif. Misalnya, untuk membuat jendela selebar layar,
tapi setengah tinggi:
xdotool ukuran jendela I 100% 50%
Persentase valid dengan --usehints dan masih berarti lebar piksel relatif terhadap
ukuran layar.
Opsi yang tersedia adalah:
--petunjuk penggunaan
Gunakan petunjuk ukuran jendela (bila tersedia) untuk mengatur lebar dan tinggi. Ini berguna
pada terminal untuk mengatur ukuran berdasarkan baris/kolom teks daripada piksel.
--sinkronisasi
Setelah mengirim permintaan ukuran jendela, tunggu hingga jendela benar-benar diubah ukurannya.
Jika tidak ada perubahan yang diperlukan, kami tidak akan menunggu. Ini berguna untuk skrip yang
tergantung pada tindakan yang diselesaikan sebelum melanjutkan.
Catatan: Karena banyak pengelola jendela mungkin mengabaikan atau mengubah ukuran aslinya
permintaan, kami akan menunggu sampai ukuran berubah dari ukuran aslinya, tidak perlu
dengan ukuran yang diminta.
Contoh: Untuk menyetel terminal menjadi 80x24 karakter, Anda akan menggunakan:
xdotool ukuran jendela --usehints beberapa_jendela 80 24
jendela bergerak [pilihan] [jendela] x y
Pindahkan jendela ke posisi yang diberikan. Jika tidak ada jendela yang diberikan, %1 adalah default. Lihat
"WINDOW STACK" dan "COMMAND CHAINING" untuk lebih jelasnya.
Jika koordinat x yang diberikan secara harfiah adalah 'x', maka posisi x jendela saat ini akan
tidak berubah. Hal yang sama berlaku untuk 'y'.
contoh:
xdotool getactivewindow windowmove 100 100 # Pindah ke 100,100
xdotool getactivewindow windowmove x 100 # Pindah ke x,100
xdotool getactivewindow windowmove 100 y # Pindah ke 100,y
xdotool getactivewindow windowmove 100 y # Pindah ke 100,y
--sinkronisasi
Setelah mengirim permintaan pemindahan jendela, tunggu hingga jendela benar-benar dipindahkan. Jika
tidak ada gerakan yang diperlukan, kami tidak akan menunggu. Ini berguna untuk skrip yang bergantung
pada tindakan yang diselesaikan sebelum melanjutkan.
--relatif
Buat gerakan relatif terhadap posisi jendela saat ini.
fokus jendela [pilihan] [jendela]
Fokuskan sebuah jendela. Jika tidak ada jendela yang diberikan, %1 adalah default. Lihat "TUMPUKAN JENDELA" dan
"RANTAI PERINTAH" untuk lebih jelasnya.
Menggunakan XSetInputFocus yang mungkin diabaikan oleh beberapa pengelola jendela atau program.
--sinkronisasi
Setelah mengirim permintaan fokus jendela, tunggu hingga jendela benar-benar fokus.
Ini berguna untuk skrip yang bergantung pada tindakan yang diselesaikan sebelum dipindahkan
pada.
peta jendela [pilihan] [jendela]
Petakan sebuah jendela. Dalam terminologi X11, memetakan jendela berarti membuatnya terlihat di
layar. Jika tidak ada jendela yang diberikan, %1 adalah default. Lihat "WINDOW STACK" dan "COMMAND
RANTAI" untuk lebih jelasnya.
--sinkronisasi
Setelah meminta peta jendela, tunggu sampai jendela benar-benar dipetakan
(bisa dilihat). Ini berguna untuk skrip yang bergantung pada tindakan yang diselesaikan
sebelum melanjutkan.
perkecil jendela [pilihan] [jendela]
Minimalkan jendela. Dalam terminologi X11, ini disebut 'iconify.' Jika tidak ada jendela
diberikan, %1 adalah default. Lihat "WINDOW STACK" dan "COMMAND CHAINING" untuk lebih jelasnya.
--sinkronisasi
Setelah meminta jendela diminimalkan, tunggu sampai jendela benar-benar diperkecil.
Ini berguna untuk skrip yang bergantung pada tindakan yang diselesaikan sebelum dipindahkan
pada.
jendela [id_jendela=%1]
Naikkan jendela ke bagian atas tumpukan. Ini mungkin tidak berfungsi pada semua pengelola jendela. Jika
tidak ada jendela yang diberikan, %1 adalah default. Lihat "WINDOW STACK" dan "COMMAND CHAINING" untuk
keterangan lebih lanjut.
jendelareparent [jendela_sumber] tujuan_jendela
Reparasi jendela. Ini menggerakkan jendela_sumber menjadi jendela anak
tujuan_jendela. Jika tidak ada sumber yang diberikan, %1 adalah default. Jendela "WINDOW STACK"
referensi (seperti %1) valid untuk keduanya jendela_sumber dan tujuan_jendela Lihat
"WINDOW STACK" dan "COMMAND CHAINING" untuk lebih jelasnya.
tutup jendela [jendela]
Tutup jendela. Tindakan ini akan menghancurkan jendela, tetapi tidak akan mencoba membunuh
klien mengendalikannya. Jika tidak ada jendela yang diberikan, %1 adalah default. Lihat "TUMPUKAN JENDELA"
dan "COMMAND CHAINING" untuk lebih jelasnya.
jendela membunuh [jendela]
Bunuh sebuah jendela. Tindakan ini akan menghancurkan jendela dan membunuh klien yang mengendalikannya.
Jika tidak ada jendela yang diberikan, %1 adalah default. Lihat WINDOW STACK dan "COMMAND CHAINING" untuk
keterangan lebih lanjut.
windowunmap [pilihan] [id_jendela=%1]
Buka peta jendela, membuatnya tidak lagi muncul di layar Anda. Jika tidak ada jendela yang diberikan, %1
adalah default. Lihat "WINDOW STACK" dan "COMMAND CHAINING" untuk lebih jelasnya.
--sinkronisasi
Setelah meminta jendela unmap, tunggu sampai jendela benar-benar tidak dipetakan
(tersembunyi). Ini berguna untuk skrip yang bergantung pada tindakan yang diselesaikan sebelumnya
bergerak.
set_jendela [pilihan] [jendela=%1]
Mengatur properti tentang jendela. Jika tidak ada jendela yang diberikan, %1 adalah default. Lihat "JENDELA
STACK" dan "COMMAND CHAINING" untuk lebih jelasnya.
Pilihan:
--nama nama baru
Setel jendela WM_NAME (biasanya judul jendela)
--ikon-nama nama ikon baru
Setel jendela WM_ICON_NAME (biasanya judul jendela saat diminimalkan)
--peran peran baru
Setel jendela WM_WINDOW_ROLE
--nama kelas nama kelas baru
Tetapkan nama kelas jendela (jangan dikelirukan dengan kelas jendela)
--kelas kelas baru
Setel kelas jendela (jangan bingung dengan nama kelas jendela)
--overridedirect nilai
Setel nilai override_redirect jendela. Nilai ini adalah petunjuk bagi pengelola jendela
untuk apakah itu harus dikelola atau tidak. Jika nilai redirect adalah 0, maka
window manager akan menggambar batas dan memperlakukan jendela ini secara normal. Jika nilainya adalah
1, pengelola jendela akan mengabaikan jendela ini.
Jika Anda mengubah nilai ini, pengelola jendela Anda mungkin tidak menyadari perubahan tersebut hingga
jendela dipetakan lagi, jadi Anda mungkin ingin mengeluarkan 'windowunmap' dan 'windowmap' untuk
buat pengelola jendela mencatat.
DESKTOP DAN WINDOW PERINTAH
Perintah-perintah ini mengikuti standar EWMH. Lihat bagian "PETUNJUK MANAJER JENDELA YANG DIPERPANJANG"
for more information.
jendela aktif [pilihan] [jendela]
Aktifkan jendela. Perintah ini berbeda dari windowfocus: jika jendela aktif
desktop lain, kami akan beralih ke desktop itu. Itu juga menggunakan metode yang berbeda untuk
membawa jendela ke atas. Saya sarankan mencoba perintah ini sebelum menggunakan windowfocus, karena
itu akan bekerja pada lebih banyak pengelola jendela.
Jika tidak ada jendela yang diberikan, %1 adalah default. Lihat "WINDOW STACK" dan "COMMAND CHAINING"
lebih lanjut.
--sinkronisasi
Setelah mengirimkan aktivasi jendela, tunggu sampai jendela benar-benar diaktifkan.
Ini berguna untuk skrip yang bergantung pada tindakan yang diselesaikan sebelum dipindahkan
pada.
getactivewindow
Keluarkan jendela aktif saat ini. Perintah ini seringkali lebih dapat diandalkan daripada
dapatkan fokus jendela. Hasilnya disimpan ke tumpukan jendela. Lihat "WINDOW STACK" untuk lebih lanjut
rincian.
set_num_desktop jumlah
Mengubah jumlah desktop atau ruang kerja.
get_num_desktop
Keluarkan jumlah desktop saat ini.
get_desktop_viewport [--kerang]
Laporkan posisi viewport saat ini. Jika --shell diberikan, hasilnya ramah untuk
evaluasi cangkang.
Area pandang terkadang digunakan sebagai pengganti 'desktop virtual' pada beberapa pengelola jendela. A
viewport hanyalah tampilan pada area desktop yang sangat besar.
set_desktop_viewport x y
Pindahkan viewport ke posisi tertentu. Tidak semua permintaan akan dipatuhi - beberapa
windowmanger hanya mematuhi permintaan yang sesuai dengan batas ruang kerja, seperti
ukuran layar.
Misalnya, jika layar Anda berukuran 1280x800, Anda dapat pindah ke ruang kerja ke-2 dengan melakukan:
xdotool set_desktop_viewport 1280 0
set_desktop [pilihan] nomor_desktop
Ubah tampilan saat ini ke desktop yang ditentukan.
--relatif
Gunakan gerakan relatif alih-alih absolut. Ini memungkinkan Anda bergerak relatif terhadap
desktop saat ini.
dapatkan_desktop
Keluarkan tampilan desktop saat ini.
set_desktop_for_window [jendela] nomor_desktop
Pindahkan jendela ke desktop yang berbeda. Jika tidak ada jendela yang diberikan, %1 adalah default. Lihat
"WINDOW STACK" dan "COMMAND CHAINING" untuk lebih jelasnya.
get_desktop_for_window [jendela]
Keluarkan desktop yang saat ini berisi jendela yang diberikan. Pindahkan jendela ke yang berbeda
Desktop. Jika tidak ada jendela yang diberikan, %1 adalah default. Lihat WINDOW STACK dan "COMMAND
RANTAI" untuk lebih jelasnya.
LAIN-LAIN PERINTAH
eksekutif [pilihan] Command [...]
Jalankan sebuah program. Ini sering berguna ketika dikombinasikan dengan behavior_screen_edge to do
hal-hal seperti mengunci layar Anda.
Pilihan:
--sinkronisasi
Blokir sampai proses anak keluar. Status keluar proses anak kemudian diteruskan
ke proses induk (xdotool) yang menyalinnya.
contoh:
# Kunci layar saat mouse berada di pojok kanan atas
xdotool behavioral_screen_edge --delay 1000 kanan atas \
exec perintah gnome-screensaver --lock
# Ganti 'xscreensaver-command -lock' jika Anda menggunakan program itu.
# Berikut ini akan gagal menggerakkan mouse karena kami menggunakan '--sync' dan
# /bin/salah keluar bukan nol:
xdotool exec --sinkronisasi /bin/salah gerakan mouse 0 0
# Ini berhasil, karena kita tidak menggunakan --sync pada perintah exec.
xdotool eksekutif /bin/salah gerakan mouse 0 0
tidur detik
Tidur untuk jangka waktu tertentu. Pecahan detik (seperti 1.3, atau 0.4) valid, di sini.
SKRIP
xdotool dapat membaca daftar perintah melalui stdin atau file jika Anda mau. Sebuah skrip akan gagal
ketika ada perintah yang gagal.
Sejujurnya, mode 'skrip' tidak sepenuhnya disempurnakan dan mungkin berada di bawah ekspektasi Anda. Jika
Anda memiliki saran, silakan email daftar atau ajukan bug (Lihat KONTAK).
Skrip dapat menggunakan argumen posisi (Diwakili oleh $1, $2, ...) dan lingkungan
variabel (seperti $HOME atau $WINDOWID). Mengutip argumen harus bekerja seperti yang diharapkan.
Skrip diproses untuk ekspansi parameter dan variabel lingkungan dan kemudian dijalankan seolah-olah
anda telah memanggil xdotool dengan seluruh skrip dalam satu baris (menggunakan COMMAND CHAINING).
· Baca perintah dari file:
nama file xdotool
· Baca perintah dari stdin:
alat xdo -
· Baca perintah dari file yang diarahkan
xdotool - <file saya
Anda juga dapat menulis skrip yang hanya menjalankan xdotool. Contoh:
#!/usr/local/bin/xdotool
cari --onlyvisible --classname $1
ukuran jendela %@ $2 $3
jendela %@
jendela bergerak %1 0 0
jendela pindah %2 $2 0
jendela bergerak %3 0 $3
jendela pindah %4 $2 $3
Skrip ini akan mengambil semua jendela yang cocok dengan kueri nama kelas yang diberikan oleh arg1 ($1) dan
ukuran/memindahkannya ke dalam kotak 2x2 dengan jendela berukuran oleh parameter ke-2 dan ke-3.
Berikut ini contoh penggunaan:
% ./skrip saya xterm 600 400
Menjalankannya seperti ini akan mengambil 4 xterms yang terlihat, menaikkannya, dan memindahkannya ke ubin 2x2
grid dengan setiap jendela berukuran 600x400 piksel.
CLEARMODIFIER
Setiap perintah mengambil --pengubah jelas flag akan mencoba menghapus input aktif apa pun
pengubah selama perintah dan mengembalikannya setelah itu.
Misalnya, jika Anda menjalankan perintah ini:
kunci xdotool dan
Hasilnya akan menjadi 'a' atau 'A' tergantung pada apakah Anda menahan tombol shift atau tidak
pada keyboard Anda. Seringkali tidak diinginkan untuk mengaktifkan pengubah apa pun, sehingga Anda dapat mengetahuinya
xdotool untuk menghapus pengubah aktif.
Urutan operasi jika Anda menahan shift saat menjalankan 'xdotool key --clearmodifiers a'
Apakah ini:
1. Permintaan untuk semua pengubah aktif (menemukan pergeseran, dalam hal ini)
2. Coba hapus shift dengan mengirimkan 'key up' untuk tombol shift
3. Jalankan 'xdotool key a' normal
4. Kembalikan tombol shift dengan mengirimkan 'key down' untuk shift
--pengubah jelas bendera saat ini dapat menghapus hal-hal berikut:
· tombol apa saja di keymap aktif Anda yang memiliki pengubah yang terkait dengannya. (Lihat
xmodmap(1) keluaran 'xmodmap -pm')
· tombol mouse (1, 2, 3, 4, dan 5)
· kunci huruf kapital
KIRIM CATATAN
Jika Anda mencoba mengirim input kunci ke jendela tertentu, dan tampaknya tidak
berfungsi, maka kemungkinan aplikasi Anda mengabaikan peristiwa yang dihasilkan xdotool.
Ini cukup umum.
Mengirim penekanan tombol ke jendela tertentu menggunakan API yang berbeda dari sekadar mengetik ke
jendela aktif. Jika Anda menentukan 'xdotool type --window 12345 hello' xdotool akan menghasilkan
peristiwa penting dan mengirimkannya langsung ke jendela 12345. Namun, server X11 akan menetapkan
tanda khusus pada semua acara yang dihasilkan dengan cara ini (lihat XEvent.xany.send_event di X11's
manual). Banyak program mengamati bendera ini dan menolak peristiwa ini.
Penting untuk dicatat bahwa untuk event key dan mouse, kita hanya menggunakan XSendEvent ketika a
jendela tertentu ditargetkan. Jika tidak, kami menggunakan XTEST.
Beberapa program dapat dikonfigurasi untuk menerima acara meskipun dibuat oleh xdotool.
Cari dokumentasi aplikasi Anda untuk mendapatkan bantuan.
Catatan aplikasi khusus (dari pengujian penulis): * Firefox 3 tampaknya mengabaikan semua
masukan ketika tidak memiliki fokus. * xterm dapat dikonfigurasi saat dijalankan dengan
ctrl+klik kiri, 'Izinkan SendEvents' * terminal gnome tampaknya menerima input yang dihasilkan oleh
standar.
WINDOW TUMPUKAN
Perintah tertentu (search, getactivewindow, getwindowfocus) akan menemukan jendela untuk Anda.
Hasil ini umumnya dicetak ke stdout, tetapi juga disimpan ke memori untuk masa mendatang
gunakan selama masa proses xdotool. Lihat "RANTAI PERINTAH" untuk lebih lanjut
informasi.
Satu-satunya dukungan modifikasi untuk tumpukan jendela adalah menggantinya. Artinya, dua dari dua
pencarian berurutan, hanya hasil terakhir yang akan menjadi tumpukan jendela.
COMMAND RANTAI
xdotool mendukung menjalankan banyak perintah pada satu permintaan. Umumnya, Anda akan mulai
dengan perintah pencarian (lihat "WINDOW STACK") dan kemudian lakukan serangkaian tindakan pada itu
hasil.
Untuk menanyakan tumpukan jendela, Anda dapat menggunakan notasi khusus "%N" di mana N adalah angka atau
'@' simbol. Jika %N diberikan, jendela ke-N akan dipilih dari tumpukan jendela.
Umumnya Anda hanya menginginkan jendela pertama atau semua jendela. Perhatikan bahwa urutan
jendela di tumpukan jendela sesuai dengan urutan susunan jendela, yaitu paling bawah
jendela akan dilaporkan terlebih dahulu (lihat Pohon XQuery(3)). Demikian urutan jendela pada
tumpukan jendela mungkin tidak konsisten di seluruh pemanggilan.
Notasi yang dijelaskan di atas digunakan sebagai argumen "jendela" untuk setiap perintah yang diberikan.
Misalnya, untuk mengubah ukuran semua xterms menjadi 80x24:
pencarian xdotool --class xterm -- ukuran jendela --usehints %@ 80 24
Ubah ukuran memindahkan jendela saat ini:
xdotool getactivewindow windowmove 0 0
Dalam semua kasus, argumen jendela default, jika dihilangkan, akan default ke "%1". Dia
jelas kesalahan jika Anda menghilangkan argumen jendela dan tumpukan jendela kosong. Jika kamu
coba gunakan tumpukan jendela dan itu kosong, itu juga kesalahan.
Untuk mengaktifkan jendela firefox pertama ditemukan:
pencarian xdotool --class firefox windowactivate
Ini akan kesalahan:
aktivasi jendela xdotool
jendela xdotoolmengaktifkan %1
jendela xdotoolmengaktifkan %@
Saat xdotool keluar, tumpukan jendela saat ini hilang.
Selain itu, perintah yang mengubah "WINDOW STACK" tidak akan mencetak hasilnya jika:
bukan perintah terakhir. Sebagai contoh:
# Keluarkan jendela aktif:
% xdotool getactivewindow
20971533
# Keluarkan pid jendela aktif, tetapi bukan id jendela aktif:
% xdotool getactivewindow getwindowpid
4686
DITERIMA WINDOW MANAGER HINTS
Bagian berikut dari standar EWMH didukung:
_NET_DIDUKUNG
Menanyakan manajer jendela apa yang didukung
_NET_CURRENT_DESKTOP
Kueri dan atur desktop saat ini. Dukungan untuk ini memungkinkan perintah ini:
"set_desktop", "get_desktop".
_NET_WM_DESKTOP
Kueri dan atur desktop apa yang digunakan jendela. Dukungan untuk ini memungkinkan ini
perintah: "set_desktop_for_window", "get_desktop_for_window".
_NET_ACTIVE_WINDOW
Memungkinkan Anda untuk menanyakan dan mengatur jendela aktif dengan meminta pengelola jendela untuk membawanya
maju. Dukungan untuk ini mengaktifkan perintah ini: "windowactivate", "getactivewindow".
_NET_WM_PID
Fitur ini bergantung pada aplikasi, bukan bergantung pada window-manager. Minta PID
memiliki jendela tertentu. Dukungan untuk ini memungkinkan perintah ini: "getwindowpid".
DIDUKUNG FITUR
xdotool (dan libxdo) akan mencoba berfungsi dalam semua keadaan. Namun, mungkin ada
beberapa kasus di mana fungsionalitas tidak disediakan oleh server X Anda atau oleh pengelola jendela Anda.
Dalam kasus ini, xdotool akan mencoba mendeteksi dan memberi tahu Anda jika suatu tindakan memerlukan fitur
saat ini tidak didukung oleh sistem Anda.
Untuk fitur khusus window-manager, lihat "PETUNJUK WINDOW MANAGER DIPERPANJANG".
TERBARU
Jika server X Anda tidak mendukung XTEST, maka beberapa fitur mengetik dan gerakan mouse
mungkin tidak bekerja. Secara khusus, tindakan mengetik dan mouse yang bekerja pada "jendela saat ini"
(jendela 0 di libxdo) tidak mungkin berfungsi.
Dalam kebanyakan kasus, XTEST adalah fitur yang dapat Anda aktifkan di server X Anda jika tidak diaktifkan
secara default
Anda dapat melihat daftar ekstensi X yang didukung dengan mengetik 'xdpyinfo' dan mencari
teks 'jumlah ekstensi: ...'
Gunakan xdotool online menggunakan layanan onworks.net