GoGPT Best VPN GoSearch

OnWorks favicon

xdotool - ອອນລາຍໃນຄລາວ

ແລ່ນ xdotool ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ xdotool ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


xdotool - ເສັ້ນຄໍາສັ່ງ X11 ເຄື່ອງມືອັດຕະໂນມັດ

ສະຫຼຸບສັງລວມ


xdotool cmd ໂຕ້ຖຽງ...

ຫມາຍເຫດ: ບາງເອກະສານໃຊ້ [ປ່ອງຢ້ຽມ] ເພື່ອຊີ້ໃຫ້ເຫັນເຖິງການໂຕ້ຖຽງປ່ອງຢ້ຽມທາງເລືອກ. ນີ້
ກໍ​ລະ​ນີ​ຫມາຍ​ຄວາມ​ວ່າ​ການ​ໂຕ້​ຖຽງ​, ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ມີ​, ຈະ​ເລີ່ມ​ຕົ້ນ​ທີ່ "%1​"​. ເບິ່ງ "WINDOW STACK" ສໍາລັບ
"%1" ຫມາຍຄວາມວ່າແນວໃດ.

ລາຍລະອຽດ


xdotool ເຮັດ​ໃຫ້​ທ່ານ​ເປັນ​ໂຄງ​ການ (ຫຼື​ດ້ວຍ​ຕົນ​ເອງ​) ຈໍາ​ລອງ​ການ​ປ້ອນ​ຂໍ້​ມູນ keyboard ແລະ​ກິດ​ຈະ​ກໍາ​ຂອງ​ຫນູ​,
ຍ້າຍ ແລະປັບຂະໜາດໜ້າຕ່າງ, ແລະອື່ນໆ. ມັນເຮັດອັນນີ້ໂດຍໃຊ້ສ່ວນຂະຫຍາຍ XTEST ຂອງ X11 ແລະ Xlib ອື່ນໆ
ປະຕິບັດຫນ້າ.

ມີການຊ່ວຍເຫຼືອບາງຢ່າງສໍາລັບ Extended Window Manager Hints (aka EWMH ຫຼື NetWM). ເບິ່ງ
ພາກສ່ວນ "ຄໍາແນະນໍາຜູ້ຈັດການປ່ອງຢ້ຽມຂະຫຍາຍ" ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.

KEYBOARD ສາມາດ


ທີ່ສໍາຄັນ [ທາງເລືອກ] keystroke [keystroke ... ]
ຕົວເລືອກ:

--ປ່ອງຢ້ຽມ ປ່ອງຢ້ຽມ
ສົ່ງການກົດແປ້ນພິມໄປຫາ ID ປ່ອງຢ້ຽມສະເພາະ. ທ່ານສາມາດນໍາໃຊ້ "WINDOW STACK" ການອ້າງອີງ
ເຊັ່ນ "%1" ແລະ "%@" ທີ່ນີ້. ຖ້າມີ window stack, ຫຼັງຈາກນັ້ນ "%1" ແມ່ນຄ່າເລີ່ມຕົ້ນ,
ຖ້າບໍ່ດັ່ງນັ້ນປ່ອງຢ້ຽມປະຈຸບັນຖືກນໍາໃຊ້.

ເບິ່ງເພີ່ມເຕີມ: "SENDEVENT Notes" ແລະ "WINDOW STACK"

-- clearmodifiers
ລຶບຕົວແກ້ໄຂກ່ອນທີ່ຈະສົ່ງການກົດແປ້ນພິມ. ເບິ່ງ CLEARMODIFIERS ຂ້າງລຸ່ມນີ້.

--ຊັກຊ້າ ມິນລິລິດ
ເລື່ອນລະຫວ່າງການກົດແປ້ນພິມ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 12ms.

ພິມປຸ່ມກົດທີ່ໃຫ້. ຕົວຢ່າງເຊັ່ນ "alt+r", "Control_L+J", "ctrl+alt+n",
"BackSpace".

ໂດຍທົ່ວໄປແລ້ວ, ທຸກສາຍ X Keysym ທີ່ຖືກຕ້ອງຈະເຮັດວຽກ. ປຸ່ມຫຼາຍອັນຖືກແຍກອອກດ້ວຍ '+'.
ນາມແຝງມີຢູ່ສໍາລັບ "alt", "ctrl", "shift", "super", ແລະ "meta" ເຊິ່ງແຜນທີ່ທັງຫມົດໄປຫາ Foo_L,
ເຊັ່ນ Alt_L ແລະ Control_L, ແລະອື່ນໆ.

ໃນກໍລະນີທີ່ແປ້ນພິມຂອງທ່ານບໍ່ມີລະຫັດທີ່ທ່ານຕ້ອງການພິມ, xdotool
ຈະຊອກຫາລະຫັດລັບທີ່ບໍ່ໄດ້ໃຊ້ໂດຍອັດຕະໂນມັດ ແລະໃຊ້ມັນເພື່ອພິມລະຫັດ.

ກ່ຽວກັບ "COMMAND CHAINING", ຄໍາສັ່ງນີ້ບໍລິໂພກສ່ວນທີ່ເຫຼືອຂອງ
arguments ຫຼືຈົນກ່ວາຄໍາສັ່ງ xdotool ໃຫມ່ຈະເຫັນໄດ້, ເພາະວ່າບໍ່ມີຄໍາສັ່ງ xdotool
ການກົດແປ້ນພິມທີ່ຖືກຕ້ອງ.

ຕົວຢ່າງ: ສົ່ງປຸ່ມກົດ "F2"
ປຸ່ມ xdotool F2

ຕົວຢ່າງ: ສົ່ງ 'a' ດ້ວຍການອອກສຽງໃສ່ມັນ (ບໍ່ແມ່ນຢູ່ໃນແປ້ນພິມພາສາອັງກິດ, ແຕ່ຍັງຄົງໃຊ້ໄດ້
ດ້ວຍ xdotool)
xdotool ກະແຈ Aacute

ຕົວຢ່າງ: ສົ່ງ ctrl+l ແລະຫຼັງຈາກນັ້ນ BackSpace ເປັນປຸ່ມກົດແຍກຕ່າງຫາກ:
ປຸ່ມ xdotool ctrl+l BackSpace

ຕົວຢ່າງ: ສົ່ງ ctrl+c ໄປຫາທຸກໜ້າຕ່າງທີ່ກົງກັບຫົວຂໍ້ 'gdb' (ເບິ່ງ "COMMAND CHAINING")
xdotool ຊອກຫາ --name gdb key ctrl+c

ຄີລົງ [ທາງເລືອກ] keystroke
ຄືກັນກັບຂ້າງເທິງ, ຍົກເວັ້ນພຽງແຕ່ເຫດການ keydown (ກົດ) ຖືກສົ່ງໄປ.

ປຸ່ມ keystroke
ຄືກັນກັບຂ້າງເທິງ, ຍົກເວັ້ນພຽງແຕ່ເຫດການ keyup (ປ່ອຍ) ຖືກສົ່ງ.

ປະເພດ [ທາງເລືອກ] ບາງສິ່ງບາງຢ່າງ to ປະເພດ
ຕົວເລືອກ:

--ປ່ອງຢ້ຽມ windowid
ສົ່ງການກົດແປ້ນພິມໄປຫາ ID ປ່ອງຢ້ຽມສະເພາະ. ເບິ່ງ "SENDEVENT NoteS" ຂ້າງລຸ່ມນີ້. ຄ່າເລີ່ມຕົ້ນ,
ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, ແມ່ນຂຶ້ນກັບ stack ປ່ອງຢ້ຽມ. ຖ້າ window stack ຫວ່າງເປົ່າ
ປ່ອງຢ້ຽມປະຈຸບັນຖືກພິມໂດຍໃຊ້ XTEST. ຖ້າບໍ່ດັ່ງນັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ "%1" (ເບິ່ງ
"ກ່ອງປ່ອງຢ້ຽມ").

--ຊັກຊ້າ ມິນລິລິດ
ເລື່ອນລະຫວ່າງການກົດແປ້ນພິມ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 12ms.

-- clearmodifiers
ລຶບຕົວແກ້ໄຂກ່ອນທີ່ຈະສົ່ງການກົດແປ້ນພິມ. ເບິ່ງ CLEARMODIFIERS ຂ້າງລຸ່ມນີ້.

ປະເພດຄືກັບວ່າທ່ານໄດ້ພິມມັນ. ຮອງຮັບແຖວໃໝ່ ແລະແຖບ (ASCII ແຖວໃໝ່ ແລະແຖບ). ແຕ່ລະ
keystroke ຖືກແຍກອອກໂດຍການຊັກຊ້າທີ່ໄດ້ຮັບໂດຍ --ຊັກຊ້າ ທາງເລືອກ.

ກ່ຽວກັບ "COMMAND CHAINING", ຄໍາສັ່ງນີ້ບໍລິໂພກສ່ວນທີ່ເຫຼືອຂອງ
ການໂຕ້ຖຽງແລະປະເພດພວກມັນ. ນັ້ນແມ່ນ, ບໍ່ມີຄໍາສັ່ງໃດໆທີ່ສາມາດລະບົບຕ່ອງໂສ້ຫຼັງຈາກ 'ປະເພດ'.

ຕົວຢ່າງ: ພິມ 'ສະບາຍດີໂລກ!' ເຈົ້າຈະເຮັດ:
xdotool ປະເພດ 'ສະບາຍດີໂລກ!'

MOUSE ສາມາດ


ຍ້າຍຫນູ [ທາງເລືອກ] x y OR 'ຟື້ນຟູ'
ຍ້າຍເມົ້າໄປທີ່ຈຸດພິກັດ X ແລະ Y ສະເພາະໃນໜ້າຈໍ.

ທ່ານສາມາດຍ້າຍເມົ້າໄປບ່ອນກ່ອນໜ້າໄດ້ ຖ້າເຈົ້າລະບຸ 'ຟື້ນຟູ' ແທນທີ່
ປະສານງານ X ແລະ Y. ການ​ຟື້ນ​ຟູ​ຈະ​ເຮັດ​ວຽກ​ພຽງ​ແຕ່​ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ໄດ້​ຍ້າຍ​ໄປ​ກ່ອນ​ຫນ້າ​ນີ້​ໃນ​ການ​ດຽວ​ກັນ​ນີ້​
ການ​ຮຽກ​ຮ້ອງ​ຄໍາ​ສັ່ງ​. ນອກຈາກນັ້ນ, ມັນບໍ່ໄດ້ເຮັດວຽກກັບທາງເລືອກ --window.

ສໍາ​ລັບ​ຕົວ​ຢ່າງ​, ໃຫ້​ຄລິກ​ໃສ່​ແຈ​ເທິງ​ຊ້າຍ​ຂອງ​ຫນ້າ​ຈໍ​ແລະ​ຍ້າຍ​ຫນູ​ໄປ​ທີ່​
ຕໍາແຫນ່ງຕົ້ນສະບັບກ່ອນທີ່ທ່ານຈະຍ້າຍມັນ, ໃຊ້ນີ້:
xdotool mousemove 0 0 ຄລິກ 1 mousemove ຟື້ນຟູ

--ປ່ອງຢ້ຽມ WINDOW
ລະບຸໜ້າຕ່າງເພື່ອຍ້າຍທີ່ກ່ຽວຂ້ອງກັບ. ພິກັດ 0,0 ຢູ່ເທິງຊ້າຍຂອງ
ປ່ອງຢ້ຽມທີ່ທ່ານເລືອກ.

ການອ້າງອີງ "WINDOW STACK" ແມ່ນຖືກຕ້ອງຢູ່ທີ່ນີ້, ເຊັ່ນ: %1 ແລະ %@. ຢ່າງໃດກໍຕາມ, ການນໍາໃຊ້ %@
ອາດຈະບໍ່ມີຄວາມຫມາຍ.

-- ໜ້າ ຈໍ ໜ້າ ຈໍ
ຍ້າຍເມົ້າໄປໜ້າຈໍທີ່ລະບຸເພື່ອຍ້າຍໄປ. ນີ້ແມ່ນເປັນປະໂຫຍດພຽງແຕ່ຖ້າທ່ານມີ
ຫຼາຍໜ້າຈໍ ແລະບໍ່ໄດ້ໃຊ້ Xinerama.

ຄ່າເລີ່ມຕົ້ນແມ່ນໜ້າຈໍປັດຈຸບັນ. ຖ້າທ່ານລະບຸ --window, --screen flag ແມ່ນ
ບໍ່ສົນໃຈ.

--ຂົ້ວໂລກ
ໃຊ້ພິກັດຂົ້ວໂລກ. ນີ້ເຮັດໃຫ້ 'x' ເປັນມຸມ (ໃນອົງສາ, 0-360, ແລະອື່ນໆ) ແລະ 'y'
ໄລຍະທາງ.

ການຫມຸນເລີ່ມຕົ້ນທີ່ 'ຂຶ້ນ' (0 ອົງສາ) ແລະຫມຸນຕາມເຂັມໂມງ: 90 = ຂວາ, 180 = ລົງ,
270 = ຊ້າຍ.

ຕົ້ນກຳເນີດເລີ່ມຕົ້ນຢູ່ໃຈກາງຂອງໜ້າຈໍປັດຈຸບັນ. ຖ້າເຈົ້າລະບຸ ກ
--window, ຫຼັງຈາກນັ້ນຕົ້ນກໍາເນີດແມ່ນສູນກາງຂອງປ່ອງຢ້ຽມນັ້ນ.

-- clearmodifiers
ເບິ່ງ CLEARMODIFIERS

--ຊິ້ງ
ຫຼັງ​ຈາກ​ທີ່​ສົ່ງ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ຍ້າຍ​ຫນູ​, ລໍ​ຖ້າ​ຈົນ​ກ​່​ວາ​ຫນູ​ໄດ້​ຖືກ​ຍ້າຍ​ຕົວ​ຈິງ​. ຖ້າ
ບໍ່ມີການເຄື່ອນໄຫວທີ່ຈໍາເປັນ, ພວກເຮົາຈະບໍ່ລໍຖ້າ. ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບສະຄິບທີ່ຂຶ້ນກັບ
ກ່ຽວ​ກັບ​ການ​ກະ​ທໍາ​ທີ່​ໄດ້​ຮັບ​ການ​ສໍາ​ເລັດ​ກ່ອນ​ທີ່​ຈະ​ເດີນ​ທາງ​ໄປ​.

ຫມາຍເຫດ: ພວກເຮົາລໍຖ້າຈົນກ່ວາຫນູຍ້າຍອອກທັງຫມົດ, ບໍ່ຈໍາເປັນຕ້ອງວ່າມັນຕົວຈິງແລ້ວ
ຮອດຈຸດໝາຍປາຍທາງທີ່ເຈົ້າຕັ້ງໄວ້. ບາງແອັບພລິເຄຊັນລັອກຕົວກະພິບເມົ້າໄປ
ພາກພື້ນສະເພາະໃດຫນຶ່ງຂອງຫນ້າຈໍ, ສະນັ້ນລໍຖ້າສໍາລັບການເຄື່ອນໄຫວໃດດີກວ່າໃນ
ກໍລະນີທົ່ວໄປກ່ວາລໍຖ້າເປົ້າຫມາຍສະເພາະ.

mousemove_relative [ທາງເລືອກ] x y
ຍ້າຍເມົ້າ x,y pixels ທຽບກັບຕຳແໜ່ງປັດຈຸບັນຂອງເຄີເຊີເມົາສ໌.

--ຂົ້ວໂລກ
ໃຊ້ພິກັດຂົ້ວໂລກ. ນີ້ເຮັດໃຫ້ 'x' ເປັນມຸມ (ໃນອົງສາ, 0-360, ແລະອື່ນໆ) ແລະ 'y'
ໄລຍະທາງ.

ການຫມຸນເລີ່ມຕົ້ນທີ່ 'ຂຶ້ນ' (0 ອົງສາ) ແລະຫມຸນຕາມເຂັມໂມງ: 90 = ຂວາ, 180 = ລົງ,
270 = ຊ້າຍ.

--ຊິ້ງ
ຫຼັງ​ຈາກ​ທີ່​ສົ່ງ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ຍ້າຍ​ຫນູ​, ລໍ​ຖ້າ​ຈົນ​ກ​່​ວາ​ຫນູ​ໄດ້​ຖືກ​ຍ້າຍ​ຕົວ​ຈິງ​. ຖ້າ
ບໍ່ມີການເຄື່ອນໄຫວທີ່ຈໍາເປັນ, ພວກເຮົາຈະບໍ່ລໍຖ້າ. ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບສະຄິບທີ່ຂຶ້ນກັບ
ກ່ຽວ​ກັບ​ການ​ກະ​ທໍາ​ທີ່​ໄດ້​ຮັບ​ການ​ສໍາ​ເລັດ​ກ່ອນ​ທີ່​ຈະ​ເດີນ​ທາງ​ໄປ​.

ໃຫ້ສັງເກດວ່າພວກເຮົາລໍຖ້າຈົນກ່ວາຫນູຍ້າຍອອກທັງຫມົດ, ບໍ່ຈໍາເປັນວ່າມັນຕົວຈິງແລ້ວ
ຮອດຈຸດໝາຍປາຍທາງທີ່ເຈົ້າຕັ້ງໄວ້. ບາງແອັບພລິເຄຊັນລັອກຕົວກະພິບເມົ້າໄປ
ພາກພື້ນສະເພາະໃດຫນຶ່ງຂອງຫນ້າຈໍ, ສະນັ້ນລໍຖ້າສໍາລັບການເຄື່ອນໄຫວໃດດີກວ່າໃນ
ກໍລະນີທົ່ວໄປກ່ວາລໍຖ້າເປົ້າຫມາຍສະເພາະ.

-- clearmodifiers
ເບິ່ງ CLEARMODIFIERS

ຄລິກ [ທາງເລືອກ] ປຸ່ມ
ສົ່ງຄລິກ, ນັ້ນແມ່ນ, ເລື່ອນລົງຕາມດ້ວຍ mouseup ສໍາລັບປຸ່ມທີ່ໃຫ້ດ້ວຍ a
ການຊັກຊ້າສັ້ນລະຫວ່າງສອງ (ປັດຈຸບັນ 12ms).

ປຸ່ມຕ່າງໆໂດຍທົ່ວໄປຈະວາງແຜນດ້ວຍວິທີນີ້: ຫນູຊ້າຍແມ່ນ 1, ກາງແມ່ນ 2, ຂວາແມ່ນ 3, ລໍ້ຂຶ້ນແມ່ນ
4​, ລໍ້​ລົງ​ແມ່ນ 5​.

-- clearmodifiers
ລຶບຕົວແກ້ໄຂກ່ອນຄລິກ. ເບິ່ງ CLEARMODIFIERS ຂ້າງລຸ່ມນີ້.

-- ຊ້ຳ ປັບປຸງ ໃໝ່
ລະບຸຈໍານວນຄັ້ງທີ່ຈະຄລິກ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1. ສໍາລັບການຄລິກສອງຄັ້ງ, ໃຊ້ '--repeat
2'

--ຊັກຊ້າ ມິນລິວິນາທີ
ລະບຸໄລຍະເວລາ, ໃນມິນລິວິນາທີ, ເພື່ອຊັກຊ້າລະຫວ່າງການຄລິກ. ທາງເລືອກນີ້ບໍ່ແມ່ນ
ໃຊ້ຖ້າຫາກວ່າ -- ຊ້ຳ ທຸງຖືກຕັ້ງເປັນ 1 (ຄ່າເລີ່ມຕົ້ນ).

--ປ່ອງຢ້ຽມ WINDOW
ລະບຸປ່ອງຢ້ຽມເພື່ອສົ່ງຄລິກໄປຫາ. ເບິ່ງ "SENDEVENT NoteS" ຂ້າງລຸ່ມນີ້ສໍາລັບການເຕືອນ. ການນໍາໃຊ້
ຕໍາແຫນ່ງຫນູໃນປັດຈຸບັນໃນເວລາທີ່ສ້າງເຫດການ.

ຄ່າເລີ່ມຕົ້ນ, ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, ແມ່ນຂຶ້ນກັບ stack ປ່ອງຢ້ຽມ. ຖ້າປ່ອງຢ້ຽມ
stack ແມ່ນຫວ່າງເປົ່າ ປ່ອງຢ້ຽມປະຈຸບັນແມ່ນພິມຢູ່ໃນການນໍາໃຊ້ XTEST. ຖ້າບໍ່ດັ່ງນັ້ນ, ຄ່າເລີ່ມຕົ້ນ
ແມ່ນ "%1" (ເບິ່ງ "Windows STACK").

ເລື່ອນລົງ [ທາງເລືອກ] ປຸ່ມ
ຄື​ກັນ​ກັບ ຄລິກ, ຍົກເວັ້ນພຽງແຕ່ຫນູລົງຖືກສົ່ງ.

ເມົາສ໌ [ທາງເລືອກ] ປຸ່ມ
ຄື​ກັນ​ກັບ ຄລິກ, ຍົກ​ເວັ້ນ​ພຽງ​ແຕ່​ຫນູ​ຂຶ້ນ​ຖືກ​ສົ່ງ​.

ສະຖານທີ່ຕັ້ງບ້ານ [--shell]
ສົ່ງຜົນໃຫ້ x, y, ໜ້າຈໍ ແລະ id window ຂອງເຄີເຊີເມົາສ໌. ຕົວເລກຫນ້າຈໍຈະເປັນ
nonzero ຖ້າທ່ານມີຈໍພາບຫຼາຍຕົວແລະບໍ່ໄດ້ໃຊ້ Xinerama.

--ແກະ
ນີ້ເຮັດໃຫ້ getmouselocation output shell data you can evaal. ຕົວຢ່າງ:

% xdotool getmouselocation --shell
X = 880
ຍ = 443
ຈໍ=0
WINDOW=16777250

% eval $(xdotool getmouselocation --shell)
% ສະທ້ອນ $X,$Y
714,324

behave_screen_edge [ທາງເລືອກ] ບ່ອນທີ່ ຄໍາສັ່ງ ...
ຜູກ​ມັດ​ການ​ກະ​ທໍາ​ກັບ​ເຫດ​ການ​ໃນ​ເວ​ລາ​ທີ່​ຫນູ​ໄປ​ທີ່​ຂອບ​ຫນ້າ​ຈໍ​ຫຼື​ແຈ​.

ຕົວເລືອກແມ່ນ:

--ຊັກຊ້າ ມິນລິວິນາທີ
ຊັກຊ້າໃນ milliseconds ກ່ອນທີ່ຈະດໍາເນີນການຄໍາສັ່ງ. ນີ້ອະນຸຍາດໃຫ້ທ່ານຕ້ອງການ a
ຂອບ ຫຼື ມຸມທີ່ໃຫ້ໄວ້ເປັນໄລຍະເວລາສັ້ນໆກ່ອນທີ່ຄຳສັ່ງຂອງເຈົ້າຈະເຮັດວຽກ.
ຖ້າທ່ານອອກຈາກຂອບຫຼືມຸມກ່ອນທີ່ຄວາມລ່າຊ້າຈະຫມົດອາຍຸ, ເວລາຈະຕັ້ງຄ່າໃຫມ່.

--ງຽບ ມິນລິວິນາທີ
ຊັກຊ້າໃນ milliseconds ກ່ອນທີ່ຄໍາສັ່ງຕໍ່ໄປຈະດໍາເນີນການ. ນີ້ຊ່ວຍປ້ອງກັນ
ບັງເອີນແລ່ນຄໍາສັ່ງຂອງເຈົ້າເວລາພິເສດ; ເປັນປະໂຫຍດໂດຍສະເພາະຖ້າທ່ານມີ
ສັ້ນຫຼາຍ --delay (ຄືກັບຄ່າເລີ່ມຕົ້ນຂອງ 0).

ຕາຕະລາງນັດໝາຍ

* ຫນູ hits ແຂບຫຼືແຈ.
* ຖ້າຄວາມລ່າຊ້າບໍ່ແມ່ນສູນ, ເມົາສ໌ຕ້ອງຢູ່ໃນຂອບ ຫຼືມຸມນີ້ຈົນກວ່າເວລາຊັກຊ້າຈະໝົດອາຍຸ.
* ຖ້າ​ຫາກ​ວ່າ​ຍັງ​ຢູ່​ໃນ​ຂອບ / ແຈ​, ກະ​ຕຸ້ນ​.
* ຖ້າ quiesce ແມ່ນ nonzero, ຫຼັງຈາກນັ້ນມີໄລຍະ cool-down ບ່ອນທີ່ຕໍ່ໄປ
trigger ບໍ່ສາມາດເກີດຂຶ້ນໄດ້

ຄ່າ 'ບ່ອນ' ທີ່ຖືກຕ້ອງແມ່ນ:

ໄວ້
ຊ້າຍເທິງ
top
ເທິງຂວາ
ສິດ
ດ້ານລຸ່ມຊ້າຍ
ທາງລຸ່ມ
ລຸ່ມຂວາ

ຕົວຢ່າງ:
# ເປີດໃຊ້ google-chrome ເມື່ອທ່ານຍ້າຍເມົ້າໄປມຸມຊ້າຍລຸ່ມ:
xdotool behave_screen_edge ລຸ່ມຊ້າຍ \
ຊອກຫາ --class google-chrome windowactivate

# ໄປບ່ອນເຮັດວຽກຕໍ່ໄປ (ຂວາ). ຮູ້ຈັກເຮັດວຽກໃນ GNOME (metacity ແລະ compiz)
xdotool behave_screen_edge --delay 500 ປຸ່ມຂວາລຸ່ມ XF86Forward

# ເປີດໃຊ້ firefox ແລະເຮັດການຄົ້ນຫາເວັບໃນແຖບໃຫມ່ສໍາລັບຂໍ້ຄວາມໃນ clipboard ຂອງທ່ານ
xdotool behave_screen_edge --delay 1000 ເທິງຊ້າຍ \
ຊອກຫາ --classname Navigator \
windowactivate --sync key --delay 250 ctrl+t ctrl+k ctrl+v ກັບຄືນ

WINDOW ສາມາດ


ຄົ້ນຫາ [ທາງເລືອກ] ຮູບແບບ
ຊອກຫາປ່ອງຢ້ຽມທີ່ມີຫົວຂໍ້, ຊື່, ຫຼືຊັ້ນຮຽນທີ່ມີຮູບແບບການສະແດງອອກປົກກະຕິ.
ຜົນໄດ້ຮັບແມ່ນລາຍຊື່ທີ່ຂັ້ນດ້ວຍແຖວຂອງຕົວລະບຸໜ້າຈໍ X. ຖ້າທ່ານກໍາລັງໃຊ້ "COMMAND
CHAINING", ຄໍາສັ່ງຄົ້ນຫາພຽງແຕ່ຈະຂຽນ ids window ເພື່ອ stdout ຖ້າມັນເປັນອັນສຸດທ້າຍ
(ຫຼືພຽງແຕ່) ຄໍາສັ່ງໃນລະບົບຕ່ອງໂສ້; ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນງຽບ.

ຜົນໄດ້ຮັບຈະຖືກບັນທຶກໄວ້ໃນ stack ປ່ອງຢ້ຽມສໍາລັບຄໍາສັ່ງລະບົບຕ່ອງໂສ້ໃນອະນາຄົດ. ເບິ່ງ "ປ່ອງຢ້ຽມ
STACK" ແລະ "COMMAND CHAINING" ສໍາລັບລາຍລະອຽດ.

ຕົວເລືອກເລີ່ມຕົ້ນແມ່ນ "--name --class --classname" (ເວັ້ນເສຍແຕ່ວ່າທ່ານລະບຸຫນຶ່ງຫຼື
ເພີ່ມເຕີມຂອງ --name --class ຫຼື --classname).

ທາງເລືອກທີ່ມີຢູ່ແມ່ນ:

--ຊັ້ນ
ກົງກັບຫ້ອງຮຽນປ່ອງຢ້ຽມ.

--ຊື່
ກົງກັບຊື່ຫ້ອງຮຽນຂອງປ່ອງຢ້ຽມ.

--ຄວາມເລິກສູງສຸດ N
ກໍານົດຄວາມເລິກການຄົ້ນຫາ recursion/child. ຄ່າເລີ່ມຕົ້ນແມ່ນ -1, ຫມາຍຄວາມວ່າບໍ່ມີຂອບເຂດ. 0 ຫມາຍຄວາມວ່າບໍ່ມີ
ຄວາມເລິກ, ພຽງແຕ່ປ່ອງຢ້ຽມຮາກຈະຖືກຄົ້ນຫາ. ຖ້າທ່ານຕ້ອງການພຽງແຕ່ປ່ອງຢ້ຽມລະດັບສູງສຸດ, ຕັ້ງຄ່າ
ຄວາມເລິກສູງສຸດຂອງ 1 (ຫຼື 2, ຂຶ້ນກັບວິທີທີ່ຜູ້ຈັດການປ່ອງຢ້ຽມຂອງເຈົ້າເຮັດການຕົກແຕ່ງ).

--ຊື່
ກົງກັບຊື່ປ່ອງຢ້ຽມ. ນີ້ແມ່ນສະຕຣິງດຽວກັນທີ່ສະແດງຢູ່ໃນ
ແຖບຫົວຂໍ້ປ່ອງຢ້ຽມ.

-- ເບິ່ງເຫັນໄດ້ເທົ່ານັ້ນ
ສະແດງພຽງແຕ່ປ່ອງຢ້ຽມທີ່ເຫັນໄດ້ໃນຜົນໄດ້ຮັບ. ນີ້ຫມາຍຄວາມວ່າຄົນທີ່ມີສະຖານະແຜນທີ່
ສາມາດເບິ່ງໄດ້.

--pid ອັກເສບທ້ອງນ້ອຍ
ຈັບຄູ່ໜ້າຕ່າງທີ່ເປັນຂອງ ID ຂະບວນການສະເພາະ. ນີ້ອາດຈະບໍ່ເຮັດວຽກສໍາລັບບາງ X
ແອັບພລິເຄຊັນທີ່ບໍ່ໄດ້ຕັ້ງ metadata ນີ້ຢູ່ໃນປ່ອງຢ້ຽມຂອງມັນ.

-- ໜ້າ ຈໍ N
ເລືອກປ່ອງຢ້ຽມໃນຫນ້າຈໍສະເພາະ. ຄ່າເລີ່ມຕົ້ນແມ່ນການຊອກຫາໜ້າຈໍທັງໝົດ. ເທົ່ານັ້ນ
ມີຄວາມຫມາຍຖ້າຫາກວ່າທ່ານມີການສະແດງຫຼາຍແລະບໍ່ໄດ້ໃຊ້ Xinerama.

--ເດັສທັອບ N
ກົງກັບໜ້າຕ່າງຢູ່ໃນເດັສທັອບສະເພາະ. 'N' ແມ່ນຕົວເລກ. ຄ່າເລີ່ມຕົ້ນແມ່ນການຊອກຫາ
ເດັສທັອບທັງໝົດ.

-- ຈຳກັດ N
ຢຸດເຊົາການຊອກຫາຫຼັງຈາກຊອກຫາ N ປ່ອງຢ້ຽມທີ່ກົງກັນ. ການກໍານົດຂອບເຂດຈໍາກັດຈະຊ່ວຍໄດ້
ເລັ່ງການຄົ້ນຫາຂອງທ່ານຖ້າທ່ານຕ້ອງການຜົນໄດ້ຮັບບໍ່ຫຼາຍປານໃດ.

ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ມີຂອບເຂດຈໍາກັດການຊອກຫາ (ເຊິ່ງເທົ່າກັບ '--limit 0')

--ຫົວຂໍ້
ເຊົາສະໝັກແລ້ວ. ເບິ່ງ --name.

--ທັງໝົດ
ຮຽກຮ້ອງໃຫ້ມີເງື່ອນໄຂທັງຫມົດ. ຍົກ​ຕົວ​ຢ່າງ:

xdotool ຊອກຫາ --all --pid 1424 --name "ສະບາຍດີໂລກ"

ນີ້ຈະກົງກັບພຽງແຕ່ປ່ອງຢ້ຽມທີ່ມີ "ສະບາຍດີໂລກ" ເປັນຊື່ແລະເປັນເຈົ້າຂອງ
pid 1424.

--ໃດໆ
ຈັບຄູ່ໜ້າຕ່າງທີ່ກົງກັບເງື່ອນໄຂໃດນຶ່ງ (ຕາມເຫດຜົນ, 'ຫຼື'). ອັນນີ້ເປີດເປັນຄ່າເລີ່ມຕົ້ນ.
ຍົກ​ຕົວ​ຢ່າງ:

xdotool ຊອກຫາ --any --pid 1424 --name "ສະບາຍດີໂລກ"

ນີ້ຈະກົງກັບທຸກປ່ອງຢ້ຽມທີ່ເປັນເຈົ້າຂອງໂດຍ pid 1424 ຫຼືປ່ອງຢ້ຽມທີ່ມີຊື່ "ສະບາຍດີໂລກ"

--ຊິ້ງ
ຂັດຂວາງຈົນກ່ວາມີຜົນໄດ້ຮັບ. ນີ້ແມ່ນເປັນປະໂຫຍດໃນເວລາທີ່ທ່ານກໍາລັງເປີດຕົວ
ແອັບພລິເຄຊັ່ນຕ້ອງການລໍຖ້າຈົນກ່ວາປ່ອງຢ້ຽມຂອງແອັບພລິເຄຊັນຈະເຫັນໄດ້. ສໍາລັບ
ຍົກຕົວຢ່າງ:

google-chrome &
xdotool ຊອກຫາ --sync --onlyvisible --class "google-chrome"

ເລືອກປ່ອງຢ້ຽມ
ເອົາ window id (ສໍາລັບລູກຄ້າ) ໂດຍການຄລິກໃສ່ມັນ. ເປັນປະໂຫຍດສໍາລັບການມີ scripts query
ທ່ານມະນຸດສໍາລັບປ່ອງຢ້ຽມທີ່ຈະປະຕິບັດ. ສໍາລັບຕົວຢ່າງ, ຂ້າປ່ອງຢ້ຽມໂດຍການຄລິກໃສ່ມັນ:

xdotool ເລືອກwindow windowkill

ປະຕິບັດຕົວ ປ່ອງຢ້ຽມ ການປະຕິບັດ ຄໍາສັ່ງ ...
ຜູກ​ມັດ​ການ​ກະ​ທໍາ​ກັບ​ເຫດ​ການ​ຢູ່​ໃນ​ປ່ອງ​ຢ້ຽມ​. ນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດດໍາເນີນການຄໍາສັ່ງ xdotool ເພີ່ມເຕີມ
ເມື່ອໃດກໍ່ຕາມເຫດການທີ່ກົງກັນເກີດຂຶ້ນ.

ຄຳສັ່ງແລ່ນເປັນຜົນມາຈາກພຶດຕິກຳແມ່ນແລ່ນດ້ວຍ %1 ເປັນໜ້າຕ່າງທີ່ເຄີຍເປັນ
ປະ​ຕິ​ບັດ​ຕາມ. ຕົວຢ່າງປະຕິບັດຕາມຫຼັງຈາກບັນຊີລາຍຊື່ເຫດການ.

ຕໍ່ໄປນີ້ແມ່ນເຫດການທີ່ຖືກຕ້ອງ:

mouse-enter
ໄຟໄຫມ້ເມື່ອຫນູເຂົ້າໄປໃນປ່ອງຢ້ຽມ. ນີ້ແມ່ນຄ້າຍຄືກັນກັບ 'mouse over' ເຫດການໃນ
javascript, ຖ້າມັນຊ່ວຍ.

ຫນູອອກ
ໄຟໄຫມ້ເມື່ອຫນູອອກຈາກປ່ອງຢ້ຽມ. ນີ້ແມ່ນກົງກັນຂ້າມກັບ 'mouse-enter'

ຄລິກຫນູ
ໄຟໄຫມ້ເມື່ອເມົາສ໌ຖືກຄລິກ. ໂດຍສະເພາະ, ເມື່ອກົດປຸ່ມຫນູຖືກປ່ອຍອອກມາ.

ຈຸດສຸມ
ໄຟໄຫມ້ເມື່ອປ່ອງຢ້ຽມໄດ້ຮັບການສຸມໃສ່ການປ້ອນຂໍ້ມູນ.

ເຮັດໃຫ້ມົວ
ໄຟໄຫມ້ເມື່ອປ່ອງຢ້ຽມສູນເສຍການສຸມໃສ່.

ຕົວຢ່າງ:

# ພິມສະຖານທີ່ຕົວກະພິບທຸກຄັ້ງທີ່ເມົາສ໌ເຂົ້າໄປທີ່ເຫັນໄດ້ໃນປັດຈຸບັນ
# ປ່ອງຢ້ຽມ:
ການຄົ້ນຫາ xdotool --ເບິ່ງໄດ້ເທົ່ານັ້ນ . ປະຕິບັດຕົວ %@ mouse-enter getmouselocation

# ພິມຫົວຂໍ້ປ່ອງຢ້ຽມແລະ pid ທຸກຄັ້ງທີ່ xterm ໄດ້ຮັບຈຸດສຸມ
ການຄົ້ນຫາ xdotool --class xterm ປະຕິບັດ %@ focus getwindowname getwindowpid

# ຈຳລອງໂຟກັສ-ຕິດຕາມເມົາສ໌
xdotool ຄົ້ນຫາ. ປະຕິບັດ %@ mouse-enter windowfocus

getwindowpid [ປ່ອງຢ້ຽມ]
ສົ່ງອອກ PID ທີ່ເປັນເຈົ້າຂອງປ່ອງຢ້ຽມທີ່ໃຫ້. ນີ້ຮຽກຮ້ອງໃຫ້ມີຄວາມພະຍາຍາມຈາກຄໍາຮ້ອງສະຫມັກເປັນເຈົ້າຂອງ
ປ່ອງຢ້ຽມແລະອາດຈະບໍ່ເຮັດວຽກສໍາລັບປ່ອງຢ້ຽມທັງຫມົດ. ນີ້ໃຊ້ຄຸນສົມບັດ _NET_WM_PID ຂອງ
ປ່ອງຢ້ຽມ. ເບິ່ງ "ຄໍາແນະນໍາຂອງຜູ້ຈັດການ WINDOW ຂະຫຍາຍ" ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.

ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, ຄ່າເລີ່ມຕົ້ນແມ່ນ '%1'. ຖ້າບໍ່ມີປ່ອງຢ້ຽມຢູ່ໃນ stack, ຫຼັງຈາກນັ້ນນີ້
ເປັນ​ຄວາມ​ຜິດ​ພາດ​. ເບິ່ງ "WINDOW STACK" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ຕົວຢ່າງ: ຊອກຫາ PID ສໍາລັບ xterms ທັງໝົດ:
ການຄົ້ນຫາ xdotool --class xterm getwindowpid %@

getwindowname [ປ່ອງຢ້ຽມ]
ອອກຊື່ຂອງປ່ອງຢ້ຽມທີ່ໃຫ້, ທີ່ເອີ້ນກັນວ່າຫົວຂໍ້. ນີ້ແມ່ນຂໍ້ຄວາມທີ່ສະແດງ
ໃນແຖບຫົວຂໍ້ຂອງປ່ອງຢ້ຽມໂດຍຜູ້ຈັດການປ່ອງຢ້ຽມຂອງທ່ານ.

ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, ຄ່າເລີ່ມຕົ້ນແມ່ນ '%1'. ຖ້າບໍ່ມີປ່ອງຢ້ຽມຢູ່ໃນ stack, ຫຼັງຈາກນັ້ນນີ້
ເປັນ​ຄວາມ​ຜິດ​ພາດ​. ເບິ່ງ "WINDOW STACK" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

getwindogeometry [ທາງເລືອກ] [ປ່ອງຢ້ຽມ]
ສົ່ງຂໍ້ມູນເລຂາຄະນິດ (ສະຖານທີ່ແລະຕໍາແຫນ່ງ) ຂອງປ່ອງຢ້ຽມ. ຄ່າລວມມີ: x, y,
ຄວາມກວ້າງ, ຄວາມສູງ, ແລະຕົວເລກຫນ້າຈໍ.

--ແກະ
ຄ່າຜົນຜະລິດທີ່ເຫມາະສົມສໍາລັບ 'eval' ໃນ shell.

getwindowfocus [-f]
ພິມ ID ປ່ອງຢ້ຽມຂອງປ່ອງຢ້ຽມທີ່ສຸມໃສ່ໃນປັດຈຸບັນ. ບັນທຶກຜົນໄດ້ຮັບໃສ່ປ່ອງຢ້ຽມ
stack. ເບິ່ງ "WINDOW STACK" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ຖ້າປ່ອງຢ້ຽມປະຈຸບັນບໍ່ມີຄຸນສົມບັດ WM_CLASS, ພວກເຮົາສົມມຸດວ່າມັນບໍ່ແມ່ນລະດັບສູງສຸດປົກກະຕິ
window ແລະ traverse ເຖິງພໍ່ແມ່ຈົນກ່ວາພວກເຮົາຊອກຫາປ່ອງຢ້ຽມທີ່ມີຊຸດ WM_CLASS ແລະ
ກັບຄືນ ID ປ່ອງຢ້ຽມນັ້ນ.

ຖ້າທ່ານຕ້ອງການໃຫ້ປ່ອງຢ້ຽມໃນປັດຈຸບັນມີຈຸດສຸມແລະບໍ່ສົນໃຈວ່າມັນມີ
ການຕັ້ງຄ່າ WM_CLASS, ຈາກນັ້ນໃຊ້ 'getwindowfocus -f'

windowsize [ທາງ​ເລືອກ​] [ປ່ອງ​ຢ້ຽມ​] ຄວາມ​ສູງ width​
ກໍານົດຂະຫນາດປ່ອງຢ້ຽມຂອງປ່ອງຢ້ຽມທີ່ໃຫ້. ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ.
ເບິ່ງ "WINDOW STACK" ແລະ "COMMAND CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ເປີເຊັນແມ່ນຖືກຕ້ອງສໍາລັບຄວາມກວ້າງແລະຄວາມສູງ. ພວກເຂົາເຈົ້າແມ່ນພີ່ນ້ອງກັບເລຂາຄະນິດຂອງ
ໜ້າຈໍເປີດຢູ່. ຕົວຢ່າງ, ເພື່ອເຮັດໃຫ້ປ່ອງຢ້ຽມມີຄວາມກວ້າງເຕັມຂອງຫນ້າຈໍ,
ແຕ່​ຄວາມ​ສູງ​ເຄິ່ງ​ຫນຶ່ງ​:

xdotool windowsize I 100% 50%

ເປີເຊັນແມ່ນຖືກຕ້ອງກັບ --usehints ແລະຍັງຫມາຍຄວາມວ່າ pixel-width ທຽບກັບ
ຂະຫນາດຫນ້າຈໍ.

ທາງເລືອກທີ່ມີຢູ່ແມ່ນ:

-- ຄຳແນະນຳ
ໃຊ້ຄໍາແນະນໍາກ່ຽວກັບຂະຫນາດຂອງປ່ອງຢ້ຽມ (ເມື່ອມີ) ເພື່ອກໍານົດຄວາມກວ້າງແລະຄວາມສູງ. ນີ້ແມ່ນເປັນປະໂຫຍດ
ຢູ່ເທິງເຄື່ອງໃຊ້ສໍາລັບການຕັ້ງຄ່າຂະຫນາດໂດຍອີງໃສ່ແຖວ / ຖັນຂອງຂໍ້ຄວາມແທນທີ່ຈະເປັນ pixels.

--ຊິ້ງ
ຫຼັງ​ຈາກ​ທີ່​ສົ່ງ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ຂະ​ຫນາດ​ປ່ອງ​ຢ້ຽມ​, ລໍ​ຖ້າ​ຈົນ​ກ​່​ວາ​ປ່ອງ​ຢ້ຽມ​ແມ່ນ​ການ​ປັບ​ຂະ​ຫນາດ​ຕົວ​ຈິງ​.
ຖ້າບໍ່ມີການປ່ຽນແປງແມ່ນມີຄວາມຈໍາເປັນ, ພວກເຮົາຈະບໍ່ລໍຖ້າ. ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບ scripts ວ່າ
ຂຶ້ນກັບການປະຕິບັດທີ່ສໍາເລັດກ່ອນທີ່ຈະກ້າວຕໍ່ໄປ.

ຫມາຍ​ເຫດ​: ເນື່ອງ​ຈາກ​ວ່າ​ຜູ້​ຈັດ​ການ​ປ່ອງ​ຢ້ຽມ​ຈໍາ​ນວນ​ຫຼາຍ​ອາດ​ຈະ​ບໍ່​ສົນ​ໃຈ​ຫຼື​ປັບ​ຂະ​ຫນາດ​ຕົ້ນ​ສະ​ບັບ​
ການຮ້ອງຂໍ, ພວກເຮົາຈະລໍຖ້າຈົນກ່ວາຂະຫນາດມີການປ່ຽນແປງຈາກຂະຫນາດຕົ້ນສະບັບຂອງມັນ, ບໍ່ຈໍາເປັນ
ຂະຫນາດທີ່ຮ້ອງຂໍ.

ຕົວຢ່າງ: ເພື່ອຕັ້ງ terminal ເປັນ 80x24 ຕົວອັກສອນ, ທ່ານຈະໃຊ້:
xdotool windowsize --usehints some_windows 80 24

windowmove [ທາງເລືອກ] [ປ່ອງຢ້ຽມ] x y
ຍ້າຍປ່ອງຢ້ຽມໄປຫາຕໍາແຫນ່ງທີ່ກໍານົດ. ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ
"WINDOW STACK" ແລະ "COMMAND CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ຖ້າ x ປະສານງານທີ່ໃຫ້ແມ່ນ 'x', ຫຼັງຈາກນັ້ນຕໍາແຫນ່ງ x ໃນປັດຈຸບັນຂອງປ່ອງຢ້ຽມຈະ
ບໍ່ປ່ຽນແປງ. ດຽວກັນໃຊ້ກັບ 'y'.

ຕົວຢ່າງ:

xdotool getactivewindow windowmove 100 100 # ຍ້າຍໄປ 100,100
xdotool getactivewindow windowmove x 100 # ຍ້າຍໄປ x,100
xdotool getactivewindow windowmove 100 y # ຍ້າຍໄປ 100,y
xdotool getactivewindow windowmove 100 y # ຍ້າຍໄປ 100,y

--ຊິ້ງ
ຫຼັງ​ຈາກ​ທີ່​ສົ່ງ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ການ​ຍ້າຍ​ປ່ອງ​ຢ້ຽມ​, ລໍ​ຖ້າ​ຈົນ​ກ​່​ວາ​ປ່ອງ​ຢ້ຽມ​ແມ່ນ​ການ​ຍ້າຍ​ຕົວ​ຈິງ​. ຖ້າ
ບໍ່ມີການເຄື່ອນໄຫວທີ່ຈໍາເປັນ, ພວກເຮົາຈະບໍ່ລໍຖ້າ. ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບສະຄິບທີ່ຂຶ້ນກັບ
ກ່ຽວ​ກັບ​ການ​ກະ​ທໍາ​ທີ່​ໄດ້​ຮັບ​ການ​ສໍາ​ເລັດ​ກ່ອນ​ທີ່​ຈະ​ເດີນ​ທາງ​ໄປ​.

--ພີ່ນ້ອງ
ເຮັດໃຫ້ການເຄື່ອນໄຫວທຽບກັບຕໍາແຫນ່ງປ່ອງຢ້ຽມໃນປະຈຸບັນ.

windowfocus [ທາງເລືອກ] [ປ່ອງຢ້ຽມ]
ສຸມໃສ່ປ່ອງຢ້ຽມ. ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ "WINDOW STACK" ແລະ
"COMMAND CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ໃຊ້ XSetInputFocus ເຊິ່ງອາດຈະຖືກລະເລີຍໂດຍບາງຕົວຈັດການໜ້າຈໍ ຫຼືໂປຣແກຣມ.

--ຊິ້ງ
ຫຼັງ​ຈາກ​ທີ່​ສົ່ງ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ການ​ສຸມ​ໃສ່​ປ່ອງ​ຢ້ຽມ​, ລໍ​ຖ້າ​ຈົນ​ກ​່​ວາ​ປ່ອງ​ຢ້ຽມ​ແມ່ນ​ແທ້​ຈິງ​ໄດ້​ສຸມ​ໃສ່​ການ​.
ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບສະຄິບທີ່ຂຶ້ນກັບການປະຕິບັດທີ່ສໍາເລັດກ່ອນທີ່ຈະເຄື່ອນຍ້າຍ
ກ່ຽວ​ກັບ​ການ​.

ແຜນຜັງປ່ອງຢ້ຽມ [ທາງເລືອກ] [ປ່ອງຢ້ຽມ]
ແຜນທີ່ປ່ອງຢ້ຽມ. ໃນຄໍາສັບ X11, ການສ້າງແຜນທີ່ປ່ອງຢ້ຽມຫມາຍຄວາມວ່າເຮັດໃຫ້ມັນເຫັນໄດ້ໃນ
ຈໍ. ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ "WINDOW STACK" ແລະ "COMMAND
CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

--ຊິ້ງ
ຫຼັງ​ຈາກ​ການ​ຮ້ອງ​ຂໍ​ແຜນ​ທີ່​ປ່ອງ​ຢ້ຽມ​, ລໍ​ຖ້າ​ຈົນ​ກ​່​ວາ​ປ່ອງ​ຢ້ຽມ​ແມ່ນ​ການ​ສ້າງ​ແຜນ​ທີ່​
(ເບິ່ງເຫັນ). ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບສະຄິບທີ່ຂຶ້ນກັບການປະຕິບັດທີ່ສໍາເລັດ
ກ່ອນທີ່ຈະຍ້າຍອອກໄປ.

ຫຍໍ້ window [ທາງເລືອກ] [ປ່ອງຢ້ຽມ]
ຫຍໍ້ໜ້າຕ່າງ. ໃນ X11 terminology, ອັນນີ້ເອີ້ນວ່າ 'iconify. ຖ້າບໍ່ມີປ່ອງຢ້ຽມ
ໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ "WINDOW STACK" ແລະ "COMMAND CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

--ຊິ້ງ
ຫຼັງ​ຈາກ​ການ​ຮ້ອງ​ຂໍ​ໃຫ້​ປ່ອງ​ຢ້ຽມ​ຫຼຸດ​ຜ່ອນ​, ລໍ​ຖ້າ​ຈົນ​ກ​່​ວາ​ປ່ອງ​ຢ້ຽມ​ແມ່ນ​ຫຼຸດ​ລົງ​ໃນ​ຕົວ​ຈິງ​.
ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບສະຄິບທີ່ຂຶ້ນກັບການປະຕິບັດທີ່ສໍາເລັດກ່ອນທີ່ຈະເຄື່ອນຍ້າຍ
ກ່ຽວ​ກັບ​ການ​.

ປ່ອງຢ້ຽມ [window_id=%1]
ຍົກປ່ອງຢ້ຽມຂຶ້ນເທິງຂອງ stack ໄດ້. ນີ້ອາດຈະບໍ່ເຮັດວຽກກັບຜູ້ຈັດການປ່ອງຢ້ຽມທັງຫມົດ. ຖ້າ
ບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ "WINDOW STACK" ແລະ "COMMAND CHAINING" ສໍາລັບ
ລາຍ​ລະ​ອຽດ​ເພີ່ມ​ເຕີມ.

windowreparent [source_window] ຈຸດຫມາຍປາຍທາງ_window
ສ້ອມແປງປ່ອງຢ້ຽມ. ນີ້​ຍ້າຍ​ source_window ເປັນປ່ອງຢ້ຽມເດັກນ້ອຍຂອງ
ຈຸດຫມາຍປາຍທາງ_window. ຖ້າບໍ່ມີແຫຼ່ງທີ່ມາ, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ປ່ອງຢ້ຽມ "WINDOW STACK".
ການອ້າງອີງ (ເຊັ່ນ: %1) ແມ່ນໃຊ້ໄດ້ສໍາລັບທັງສອງ source_window ແລະ ຈຸດຫມາຍປາຍທາງ_window ເບິ່ງ
"WINDOW STACK" ແລະ "COMMAND CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ປິດປ່ອງຢ້ຽມ [ປ່ອງຢ້ຽມ]
ປິດປ່ອງຢ້ຽມ. ການປະຕິບັດນີ້ຈະທໍາລາຍປ່ອງຢ້ຽມ, ແຕ່ຈະບໍ່ພະຍາຍາມຂ້າ
ລູກຄ້າຄວບຄຸມມັນ. ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ "Windows STACK"
ແລະ "COMMAND CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

windowkill [ປ່ອງຢ້ຽມ]
ຂ້າປ່ອງຢ້ຽມ. ການປະຕິບັດນີ້ຈະທໍາລາຍປ່ອງຢ້ຽມແລະຂ້າລູກຄ້າທີ່ຄວບຄຸມມັນ.
ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ WINDOW STACK ແລະ "COMMAND CHAINING" ສໍາລັບ
ລາຍ​ລະ​ອຽດ​ເພີ່ມ​ເຕີມ.

windowunmap [ທາງເລືອກ] [window_id=%1]
Unmap window, ເຮັດໃຫ້ມັນບໍ່ປາກົດຢູ່ໃນຫນ້າຈໍຂອງທ່ານ. ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1
ເປັນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ "WINDOW STACK" ແລະ "COMMAND CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

--ຊິ້ງ
ຫຼັງ​ຈາກ​ການ​ຮ້ອງ​ຂໍ unmap window​, ລໍ​ຖ້າ​ຈົນ​ກ​່​ວາ​ປ່ອງ​ຢ້ຽມ​ແມ່ນ unmapped ຕົວ​ຈິງ​ແລ້ວ​
(ເຊື່ອງ). ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບສະຄິບທີ່ຂຶ້ນກັບການປະຕິບັດທີ່ສໍາເລັດກ່ອນ
ກ້າວ​ຕໍ່​ໄປ.

set_window [ທາງເລືອກ] [windows=%1]
ກໍານົດຄຸນສົມບັດກ່ຽວກັບປ່ອງຢ້ຽມ. ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ "ປ່ອງຢ້ຽມ
STACK" ແລະ "COMMAND CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ຕົວເລືອກ:

--ຊື່ ຊື່ໃໝ່
ຕັ້ງປ່ອງຢ້ຽມ WM_NAME (ຊື່ໜ້າຕ່າງ, ໂດຍປົກກະຕິແລ້ວ)

--icon-ຊື່ ຊື່ໃໝ່
ຕັ້ງປ່ອງຢ້ຽມ WM_ICON_NAME (ຊື່ໜ້າຕ່າງເມື່ອຖືກຫຍໍ້ລົງ, ໂດຍປົກກະຕິແລ້ວ)

--ບົດບາດ ບົດບາດໃໝ່
ຕັ້ງປ່ອງຢ້ຽມ WM_WINDOW_ROLE

--ຊື່ ຊື່ຫ້ອງຮຽນໃໝ່
ຕັ້ງຊື່ຫ້ອງຮຽນຂອງປ່ອງຢ້ຽມ (ບໍ່ຄວນສັບສົນກັບຫ້ອງຮຽນປ່ອງຢ້ຽມ)

--ຊັ້ນ ຊັ້ນໃຫມ່
ຕັ້ງຫ້ອງຮຽນປ່ອງຢ້ຽມ (ບໍ່ຄວນສັບສົນກັບຊື່ຫ້ອງຮຽນຂອງປ່ອງຢ້ຽມ)

--overrideredirect ມູນຄ່າ
ຕັ້ງຄ່າ override_redirect ຂອງປ່ອງຢ້ຽມ. ຄ່ານີ້ແມ່ນຄໍາແນະນໍາຕໍ່ກັບຕົວຈັດການປ່ອງຢ້ຽມ
ສໍາລັບວ່າຄວນຈະຖືກຄຸ້ມຄອງຫຼືບໍ່. ຖ້າມູນຄ່າການປ່ຽນເສັ້ນທາງແມ່ນ 0, ຫຼັງຈາກນັ້ນ
ຜູ້ຈັດການປ່ອງຢ້ຽມຈະແຕ້ມຂອບແລະປະຕິບັດຫນ້າຕ່າງນີ້ຕາມປົກກະຕິ. ຖ້າມູນຄ່າແມ່ນ
1, ຜູ້ຈັດການປ່ອງຢ້ຽມຈະບໍ່ສົນໃຈປ່ອງຢ້ຽມນີ້.

ຖ້າທ່ານປ່ຽນຄ່ານີ້, ຜູ້ຈັດການປ່ອງຢ້ຽມຂອງທ່ານອາດຈະບໍ່ສັງເກດເຫັນການປ່ຽນແປງຈົນກ່ວາ
ປ່ອງຢ້ຽມຖືກສ້າງແຜນທີ່ອີກເທື່ອຫນຶ່ງ, ດັ່ງນັ້ນທ່ານອາດຈະຕ້ອງການອອກ 'windowunmap' ແລະ 'windowmap' ເພື່ອ
ເຮັດ​ໃຫ້​ຜູ້​ຈັດ​ການ window ໄດ້​ຮັບ​ການ​ບັນ​ທຶກ​.

ເດັສທັອບ ແລະ WINDOW ສາມາດ


ຄໍາສັ່ງເຫຼົ່ານີ້ປະຕິບັດຕາມມາດຕະຖານ EWMH. ເບິ່ງພາກສ່ວນ "ຄໍາແນະນໍາຂອງຜູ້ຈັດການປ່ອງຢ້ຽມທີ່ຂະຫຍາຍ"
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.

ປ່ອງຢ້ຽມເປີດ [ທາງເລືອກ] [ປ່ອງຢ້ຽມ]
ເປີດໃຊ້ປ່ອງຢ້ຽມ. ຄໍາສັ່ງນີ້ແມ່ນແຕກຕ່າງຈາກ windowfocus: ຖ້າປ່ອງຢ້ຽມເປີດ
desktop ອື່ນ, ພວກເຮົາຈະປ່ຽນເປັນ desktop ນັ້ນ. ມັນຍັງໃຊ້ວິທີການທີ່ແຕກຕ່າງກັນສໍາລັບ
ເອົາປ່ອງຢ້ຽມຂຶ້ນ. ຂ້າພະເຈົ້າແນະນໍາໃຫ້ພະຍາຍາມຄໍາສັ່ງນີ້ກ່ອນທີ່ຈະໃຊ້ windowfocus, as
ມັນຈະເຮັດວຽກກ່ຽວກັບຜູ້ຈັດການປ່ອງຢ້ຽມຫຼາຍ.

ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ "WINDOW STACK" ແລະ "COMMAND CHAINING"
ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

--ຊິ້ງ
ຫຼັງ​ຈາກ​ທີ່​ສົ່ງ​ການ​ກະ​ຕຸ້ນ​ປ່ອງ​ຢ້ຽມ​, ລໍ​ຖ້າ​ຈົນ​ກ​່​ວາ​ປ່ອງ​ຢ້ຽມ​ໄດ້​ຖືກ​ເປີດ​ຕົວ​ຈິງ​.
ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບສະຄິບທີ່ຂຶ້ນກັບການປະຕິບັດທີ່ສໍາເລັດກ່ອນທີ່ຈະເຄື່ອນຍ້າຍ
ກ່ຽວ​ກັບ​ການ​.

getactivewindow
ສົ່ງອອກປ່ອງຢ້ຽມທີ່ເຮັດວຽກໃນປະຈຸບັນ. ຄໍາສັ່ງນີ້ມັກຈະມີຄວາມຫນ້າເຊື່ອຖືຫຼາຍກ່ວາ
getwindowfocus. ຜົນໄດ້ຮັບຖືກບັນທຶກໄວ້ໃນ stack ປ່ອງຢ້ຽມ. ເບິ່ງ "WINDOW STACK" ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ
ລາຍລະອຽດ.

set_num_desktops ຈໍານວນ
ປ່ຽນແປງຈໍານວນ desktop ຫຼືພື້ນທີ່ເຮັດວຽກ.

get_num_desktops
ສົ່ງອອກຈໍານວນ desktops ໃນປັດຈຸບັນ.

get_desktop_viewport [--shell]
ລາຍງານຕໍາແຫນ່ງ viewport ໃນປັດຈຸບັນ. ຖ້າ --shell ຖືກມອບໃຫ້, ຜົນຜະລິດແມ່ນເປັນມິດກັບ
shell eval.

Viewports ບາງຄັ້ງຖືກໃຊ້ແທນ 'virtual desktops' ໃນບາງຕົວຈັດການປ່ອງຢ້ຽມ. ກ
viewport ແມ່ນພຽງແຕ່ເບິ່ງຢູ່ໃນພື້ນທີ່ desktop ຂະຫນາດໃຫຍ່ຫຼາຍ.

set_desktop_viewport x y
ຍ້າຍຊ່ອງເບິ່ງໄປຫາຕໍາແຫນ່ງທີ່ກໍານົດ. ບໍ່ແມ່ນການຮ້ອງຂໍທັງຫມົດຈະໄດ້ຮັບການເຊື່ອຟັງ - ບາງ
windowmangers ພຽງແຕ່ເຊື່ອຟັງຄໍາຮ້ອງຂໍທີ່ສອດຄ່ອງກັບຂອບເຂດພື້ນທີ່ເຮັດວຽກ, ເຊັ່ນ:
ຂະຫນາດຫນ້າຈໍ.

ຕົວຢ່າງ, ຖ້າໜ້າຈໍຂອງເຈົ້າມີຂະໜາດ 1280x800, ເຈົ້າສາມາດຍ້າຍໄປບ່ອນເຮັດວຽກທີ່ 2 ໄດ້ໂດຍການເຮັດ:
xdotool set_desktop_viewport 1280 0

set_desktop [ທາງເລືອກ] desktop_number
ປ່ຽນມຸມມອງປັດຈຸບັນເປັນເດັສທັອບທີ່ລະບຸ.

--ພີ່ນ້ອງ
ໃຊ້ການເຄື່ອນໄຫວຂອງພີ່ນ້ອງແທນທີ່ຈະເປັນຢ່າງແທ້ຈິງ. ນີ້ເຮັດໃຫ້ທ່ານຍ້າຍພີ່ນ້ອງກັບ
desktop ໃນ​ປັດ​ຈຸ​ບັນ​.

get_desktop
ສົ່ງຜົນໃຫ້ເດັສທັອບປັດຈຸບັນຢູ່ໃນມຸມມອງ.

set_desktop_for_window [ປ່ອງຢ້ຽມ] desktop_number
ຍ້າຍປ່ອງຢ້ຽມໄປຫາເດັສທັອບອື່ນ. ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ
"WINDOW STACK" ແລະ "COMMAND CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

get_desktop_for_window [ປ່ອງຢ້ຽມ]
ສົ່ງຜົນໃຫ້ເດັສທັອບທີ່ມີໜ້າຕ່າງທີ່ໃຫ້ມາ. ຍ້າຍປ່ອງຢ້ຽມໄປບ່ອນອື່ນ
ເດັສທັອບ. ຖ້າບໍ່ມີປ່ອງຢ້ຽມໃຫ້, %1 ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງ WINDOW STACK ແລະ "ຄໍາສັ່ງ
CHAINING" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

MISCELLANEOUS ສາມາດ


exec [ທາງເລືອກ] ຄໍາສັ່ງ [ ... ]
ດໍາເນີນໂຄງການ. ນີ້ມັກຈະເປັນປະໂຫຍດເມື່ອລວມກັບ behave_screen_edge ເພື່ອເຮັດ
ສິ່ງຕ່າງໆເຊັ່ນການລັອກໜ້າຈໍຂອງທ່ານ.

ຕົວເລືອກ:

--ຊິ້ງ
ຂັດຂວາງຈົນກ່ວາຂະບວນການເດັກນ້ອຍອອກໄປ. ຫຼັງຈາກນັ້ນ, ສະຖານະການອອກຈາກຂະບວນການເດັກນ້ອຍແມ່ນຜ່ານ
ໄປຫາຂະບວນການແມ່ (xdotool) ເຊິ່ງຄັດລອກມັນ.

ຕົວຢ່າງ:
# ລັອກໜ້າຈໍເມື່ອເມົາສ໌ຢູ່ມຸມຂວາເທິງ
xdotool behave_screen_edge --delay 1000 ເທິງຂວາ \
exec gnome-screensaver-command --lock
# ທົດແທນ 'xscreensaver-command -lock' ຖ້າທ່ານໃຊ້ໂຄງການນັ້ນ.

# ຕໍ່ໄປນີ້ຈະລົ້ມເຫລວໃນການຍ້າຍຫນູເພາະວ່າພວກເຮົາໃຊ້ '--sync' ແລະ
# /bin/false ອອກຈາກ nonzero:
xdotool exec --sync /bin/false ຍ້າຍເມົາສ໌ 0 0

# ນີ້ປະສົບຜົນສໍາເລັດ, ເຖິງແມ່ນວ່າ, ເນື່ອງຈາກວ່າພວກເຮົາບໍ່ໄດ້ໃຊ້ --sync ໃນຄໍາສັ່ງ exec.
xdotool exec /bin/false ຍ້າຍເມົາສ໌ 0 0

ນອນ ວິນາທີ
ນອນສໍາລັບໄລຍະເວລາທີ່ກໍານົດໄວ້. ເສດສ່ວນຂອງວິນາທີ (ເຊັ່ນ: 1.3, ຫຼື 0.4) ແມ່ນຖືກຕ້ອງ, ທີ່ນີ້.

ສະຄຣິບ


xdotool ສາມາດອ່ານລາຍຊື່ຄໍາສັ່ງຜ່ານ stdin ຫຼືໄຟລ໌ຖ້າທ່ານຕ້ອງການ. ສະຄຣິບຈະລົ້ມເຫລວ
ເມື່ອຄໍາສັ່ງໃດໆລົ້ມເຫລວ.

ຄວາມຈິງແລ້ວ, ໂໝດ 'ສະຄຣິບ' ບໍ່ໄດ້ຖືກປັບປຸງຢ່າງສົມບູນ ແລະອາດຈະຕໍ່າກວ່າຄວາມຄາດຫວັງຂອງເຈົ້າ. ຖ້າ
ທ່ານ​ມີ​ຄໍາ​ແນະ​ນໍາ​, ກະ​ລຸ​ນາ​ສົ່ງ​ອີ​ເມລ​໌​ບັນ​ຊີ​ລາຍ​ການ​ຫຼື​ຍື່ນ​ຂໍ້​ຜິດ​ພາດ (ເບິ່ງ​ການ​ຕິດ​ຕໍ່​)​.

Scripts ສາມາດນໍາໃຊ້ການໂຕ້ຖຽງຕໍາແຫນ່ງ (ສະແດງໂດຍ $1, $2, ...) ແລະສະພາບແວດລ້ອມ
ຕົວແປ (ເຊັ່ນ $HOME ຫຼື $WINDOWID). ການໂຕ້ຖຽງການອ້າງອີງຄວນເຮັດວຽກຕາມທີ່ຄາດໄວ້.

ສະຄຣິບຖືກປະມວນຜົນສໍາລັບການຂະຫຍາຍຕົວແປຂອງພາລາມິເຕີແລະສະພາບແວດລ້ອມແລະຫຼັງຈາກນັ້ນດໍາເນີນການຄືກັບວ່າ
ທ່ານໄດ້ເອີ້ນ xdotool ດ້ວຍສະຄຣິບທັງໝົດຢູ່ໃນແຖວດຽວ (ໂດຍໃຊ້ COMMAND CHAINING).

· ອ່ານຄໍາສັ່ງຈາກໄຟລ໌:

ຊື່ໄຟລ໌ xdotool

· ອ່ານຄໍາສັ່ງຈາກ stdin:

xdotool -

· ອ່ານຄໍາສັ່ງຈາກໄຟລ໌ທີ່ປ່ຽນເສັ້ນທາງ

xdotool - < myfile

ນອກນັ້ນທ່ານຍັງສາມາດຂຽນສະຄິບທີ່ພຽງແຕ່ປະຕິບັດ xdotool. ຕົວຢ່າງ:

#!/usr/local/bin/xdotool
ຊອກຫາ --onlyvisible --classname $1

windowsize %@$2$3
ປ່ອງຢ້ຽມ %@

windowmove %1 0 0
windowmove %2 $2 0
windowmove %3 0 $3
windowmove %4 $2 $3

ສະຄຣິບນີ້ຈະເອົາທຸກປ່ອງຢ້ຽມທີ່ກົງກັບແບບສອບຖາມຊື່ຫ້ອງຮຽນທີ່ໃຫ້ໂດຍ arg1 ($1) ແລະ
ຂະຫນາດ / ຍ້າຍພວກມັນເຂົ້າໄປໃນຕາຂ່າຍໄຟຟ້າ 2x2 ທີ່ມີປ່ອງຢ້ຽມຂະຫນາດໂດຍຕົວກໍານົດການທີ 2 ແລະທີ 3.

ນີ້ແມ່ນຕົວຢ່າງການນໍາໃຊ້:

% ./myscript xterm 600 400

ແລ່ນມັນແບບນີ້ຈະໃຊ້ເວລາ 4 xterms ທີ່ເຫັນໄດ້, ຍົກພວກມັນ, ແລະຍ້າຍພວກມັນເຂົ້າໄປໃນກະເບື້ອງ 2x2.
ຕາຂ່າຍໄຟຟ້າທີ່ມີແຕ່ລະປ່ອງຢ້ຽມ 600x400 pixels ໃນຂະຫນາດ.

ເຄື່ອງກວດລ້າງ


ຄໍາສັ່ງໃດໆທີ່ເອົາ -- clearmodifiers ທຸງຈະພະຍາຍາມລຶບລ້າງການປ້ອນຂໍ້ມູນທີ່ມີການເຄື່ອນໄຫວ
modifiers ໃນລະຫວ່າງຄໍາສັ່ງແລະຟື້ນຟູໃຫ້ເຂົາເຈົ້າຫຼັງຈາກນັ້ນ.

ສໍາລັບຕົວຢ່າງ, ຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະດໍາເນີນການຄໍາສັ່ງນີ້:
ກະແຈ xdotool ກ

ຜົນໄດ້ຮັບຈະເປັນ 'a' ຫຼື 'A' ຂຶ້ນກັບວ່າທ່ານກໍາລັງຖືປຸ່ມ shift
ເທິງແປ້ນພິມຂອງເຈົ້າ. ເລື້ອຍໆມັນບໍ່ຕ້ອງການທີ່ຈະມີຕົວແກ້ໄຂໃດໆທີ່ມີການເຄື່ອນໄຫວ, ດັ່ງນັ້ນທ່ານສາມາດບອກໄດ້
xdotool ເພື່ອລຶບລ້າງຕົວແກ້ໄຂທີ່ເຮັດວຽກ.

ຄໍາສັ່ງຂອງການດໍາເນີນງານຖ້າທ່ານຖື shift ໃນຂະນະທີ່ແລ່ນ 'xdotool key --clearmodifiers a'
ນີ້​ແມ່ນ:

1. Query ສໍາ​ລັບ​ການ​ປັບ​ປຸງ​ແກ້​ໄຂ​ທັງ​ຫມົດ (ຊອກ​ຫາ shift​, ໃນ​ກໍ​ລະ​ນີ​ນີ້​)
2. ພະຍາຍາມລ້າງ shift ໂດຍສົ່ງ 'key up' ສໍາລັບ shift key
3. ແລ່ນ 'xdotool key a' ປົກກະຕິ.
4. ຟື້ນຟູປຸ່ມ shift ໂດຍການສົ່ງ 'ປຸ່ມລົງ' ສໍາລັບ shift

ໄດ້ -- clearmodifiers ປະຈຸບັນທຸງສາມາດລຶບລ້າງສິ່ງຕໍ່ໄປນີ້:

·ກະແຈໃດນຶ່ງໃນແຜນຜັງທີ່ໃຊ້ວຽກຂອງເຈົ້າທີ່ມີຕົວແກ້ໄຂທີ່ກ່ຽວຂ້ອງກັບມັນ. (ເບິ່ງ
xmodmap(1) ຜົນຜະລິດ 'xmodmap -pm')

· ປຸ່ມຫນູ (1, 2, 3, 4, ແລະ 5)

· caps lock

SENDEVENT ຫມາຍເຫດ


ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ກໍາ​ລັງ​ພະ​ຍາ​ຍາມ​ທີ່​ຈະ​ສົ່ງ​ການ​ປ້ອນ​ຂໍ້​ມູນ​ທີ່​ສໍາ​ຄັນ​ກັບ​ປ່ອງ​ຢ້ຽມ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​, ແລະ​ມັນ​ບໍ່​ໄດ້​ປະ​ກົດ​ວ່າ​
ເຮັດວຽກ, ຫຼັງຈາກນັ້ນມັນອາດຈະເປັນຄໍາຮ້ອງສະຫມັກຂອງທ່ານບໍ່ສົນໃຈເຫດການທີ່ xdotool ກໍາລັງສ້າງ.
ນີ້ແມ່ນຂ້ອນຂ້າງທົ່ວໄປ.

ການສົ່ງການກົດແປ້ນພິມໄປຫາປ່ອງຢ້ຽມສະເພາະໃຊ້ API ທີ່ແຕກຕ່າງກັນກ່ວາພຽງແຕ່ພິມໄປຫາ
ປ່ອງຢ້ຽມທີ່ເຮັດວຽກ. ຖ້າທ່ານລະບຸ 'xdotool type --window 12345 hello' xdotool ຈະສ້າງ
ເຫດການສໍາຄັນແລະສົ່ງພວກເຂົາໂດຍກົງໄປຫາປ່ອງຢ້ຽມ 12345. ຢ່າງໃດກໍຕາມ, ເຄື່ອງແມ່ຂ່າຍ X11 ຈະກໍານົດ a
ທຸງພິເສດກ່ຽວກັບເຫດການທັງໝົດທີ່ສ້າງຂຶ້ນດ້ວຍວິທີນີ້ (ເບິ່ງ XEvent.xany.send_event ໃນ X11's
ຄູ່ມື). ຫຼາຍໆໂຄງການສັງເກດເຫັນທຸງນີ້ແລະປະຕິເສດເຫດການເຫຼົ່ານີ້.

ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະສັງເກດວ່າສໍາລັບເຫດການທີ່ສໍາຄັນແລະຫນູ, ພວກເຮົາພຽງແຕ່ໃຊ້ XSendEvent ເມື່ອ a
ປ່ອງຢ້ຽມສະເພາະແມ່ນເປົ້າຫມາຍ. ຖ້າບໍ່ດັ່ງນັ້ນ, ພວກເຮົາໃຊ້ XTEST.

ບາງໂຄງການສາມາດຖືກຕັ້ງຄ່າໃຫ້ຍອມຮັບເຫດການເຖິງແມ່ນວ່າພວກມັນຖືກສ້າງຂື້ນໂດຍ xdotool.
ຊອກຫາເອກະສານໃບສະໝັກຂອງເຈົ້າເພື່ອຂໍຄວາມຊ່ວຍເຫຼືອ.

ບັນທຶກຄໍາຮ້ອງສະຫມັກສະເພາະ (ຈາກການທົດສອບຂອງຜູ້ຂຽນ): * Firefox 3 ເບິ່ງຄືວ່າຈະບໍ່ສົນໃຈທັງຫມົດ
ວັດສະດຸປ້ອນໃນເວລາທີ່ມັນບໍ່ມີຈຸດສຸມ. * xterm ສາມາດຖືກຕັ້ງຄ່າໃນຂະນະທີ່ແລ່ນກັບ
ctrl+ຄລິກຊ້າຍ, 'Allow SendEvents' * gnome-terminal ປະກົດວ່າຍອມຮັບການປ້ອນຂໍ້ມູນທີ່ສ້າງຂຶ້ນໂດຍ
Default

WINDOW ຢຸດ


ຄໍາສັ່ງບາງຢ່າງ (ຄົ້ນຫາ, getactivewindow, getwindowfocus) ຈະຊອກຫາປ່ອງຢ້ຽມສໍາລັບທ່ານ.
ໂດຍທົ່ວໄປແລ້ວຜົນໄດ້ຮັບເຫຼົ່ານີ້ຖືກພິມອອກເປັນ stdout, ແຕ່ພວກມັນຍັງຖືກບັນທຶກໄວ້ໃນຄວາມຊົງຈໍາສໍາລັບອະນາຄົດ
ໃຊ້ຕະຫຼອດຊີວິດຂອງຂະບວນການ xdotool. ເບິ່ງ "COMMAND CHAINING" ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ
ຂໍ້ມູນຂ່າວສານ.

ການດັດແປງພຽງແຕ່ສະຫນັບສະຫນູນ stack ປ່ອງຢ້ຽມແມ່ນເພື່ອທົດແທນມັນ. ນັ້ນແມ່ນ, ສອງໃນສອງ
ການຄົ້ນຫາຕາມລໍາດັບ, ພຽງແຕ່ຜົນໄດ້ຮັບສຸດທ້າຍຈະເປັນ stack window.

ຄໍາສັ່ງ ສາຍໂສ້


xdotool ຮອງຮັບການແລ່ນຄຳສັ່ງຫຼາຍອັນຢູ່ໃນການເອີ້ນດຽວ. ໂດຍທົ່ວໄປແລ້ວ, ທ່ານຈະເລີ່ມຕົ້ນ
ດ້ວຍຄໍາສັ່ງຄົ້ນຫາ (ເບິ່ງ "WINDOW STACK") ແລະຫຼັງຈາກນັ້ນປະຕິບັດຊຸດຂອງການກະທໍາເຫຼົ່ານັ້ນ
ຜົນໄດ້ຮັບ.

ເພື່ອສອບຖາມ stack ປ່ອງຢ້ຽມ, ທ່ານສາມາດນໍາໃຊ້ຫມາຍເຫດພິເສດ "%N" ບ່ອນທີ່ N ແມ່ນຕົວເລກຫຼືຕົວເລກ
ສັນຍາລັກ '@'. ຖ້າ %N ຖືກມອບໃຫ້, ປ່ອງຢ້ຽມ Nth ຈະຖືກເລືອກຈາກ stack ປ່ອງຢ້ຽມ.
ໂດຍທົ່ວໄປແລ້ວທ່ານພຽງແຕ່ຕ້ອງການປ່ອງຢ້ຽມທໍາອິດຫຼືປ່ອງຢ້ຽມທັງຫມົດ. ໃຫ້ສັງເກດວ່າຄໍາສັ່ງຂອງ
windows ໃນ stack window ກົງກັນກັບຄໍາສັ່ງ stacking window, ie ລຸ່ມສຸດ
ປ່ອງຢ້ຽມຈະຖືກລາຍງານກ່ອນ (ເບິ່ງ XQueryTree(3)). ດັ່ງນັ້ນຄໍາສັ່ງຂອງປ່ອງຢ້ຽມໃນ
window stack ອາດຈະບໍ່ສອດຄ່ອງໃນທົ່ວການຮຽກຮ້ອງ.

ຫມາຍເຫດທີ່ອະທິບາຍຂ້າງເທິງນີ້ຖືກນໍາໃຊ້ເປັນການໂຕ້ຖຽງ "ປ່ອງຢ້ຽມ" ສໍາລັບຄໍາສັ່ງໃດໆ.

ສໍາລັບຕົວຢ່າງ, ເພື່ອປັບຂະຫນາດ xterms ທັງຫມົດເປັນ 80x24:

xdotool ຊອກຫາ --class xterm -- windowsize --usehints %@ 80 24

ປັບຂະໜາດຍ້າຍໜ້າຈໍປັດຈຸບັນ:

xdotool getactivewindow windowmove 0 0

ໃນທຸກກໍລະນີ, ການໂຕ້ຖຽງໜ້າຕ່າງເລີ່ມຕົ້ນ, ຖ້າຖືກລະເວັ້ນ, ຈະເປັນຄ່າເລີ່ມຕົ້ນເປັນ "%1". ມັນ​ແມ່ນ
ແນ່ນອນ, ຄວາມຜິດພາດແມ່ນຖ້າທ່ານຍົກເລີກການໂຕ້ຖຽງ window ແລະ stack ປ່ອງຢ້ຽມຫວ່າງເປົ່າ. ຖ້າ​ເຈົ້າ
ພະຍາຍາມໃຊ້ window stack ແລະມັນຫວ່າງເປົ່າ, ມັນຍັງເປັນຂໍ້ຜິດພາດ.

ເພື່ອເປີດໃຊ້ປ່ອງຢ້ຽມ firefox ທໍາອິດທີ່ພົບເຫັນ:

xdotool ຊອກຫາ --class firefox windowactivate

ສິ່ງເຫຼົ່ານີ້ຈະຜິດພາດ:

xdotool ເປີດປ່ອງຢ້ຽມ
xdotool windowactivate %1
xdotool windowactivate %@

ເມື່ອ xdotool ອອກຈາກ, stack window ໃນປັດຈຸບັນຈະສູນເສຍ.

ນອກຈາກນັ້ນ, ຄໍາສັ່ງທີ່ດັດແປງ "WINDOW STACK" ຈະບໍ່ພິມຜົນໄດ້ຮັບຖ້າພວກເຂົາ
ບໍ່ແມ່ນຄໍາສັ່ງສຸດທ້າຍ. ຍົກ​ຕົວ​ຢ່າງ:

# ອອກໜ້າຕ່າງທີ່ໃຊ້ງານ:
% xdotool getactivewindow
20971533

# ສົ່ງອອກ pid ຂອງປ່ອງຢ້ຽມທີ່ເຄື່ອນໄຫວ, ແຕ່ບໍ່ແມ່ນ id window ທີ່ໃຊ້ວຽກ:
% xdotool getactivewindow getwindowpid
4686

ອະທິບາຍ WINDOW ຜູ້​ຈັດ​ການ ຄໍາແນະນໍາ


ຕ່ອນຕໍ່ໄປນີ້ຂອງມາດຕະຖານ EWMH ແມ່ນສະຫນັບສະຫນູນ:

_NET_SUPPORTED
ຖາມຜູ້ຈັດການປ່ອງຢ້ຽມວ່າສະຫນັບສະຫນູນຫຍັງ

_NET_CURRENT_DESKTOP
ສອບຖາມແລະຕັ້ງ desktop ໃນປັດຈຸບັນ. ການສະຫນັບສະຫນູນສໍາລັບການນີ້ເຮັດໃຫ້ຄໍາສັ່ງເຫຼົ່ານີ້:
"set_desktop", "get_desktop".

_NET_WM_DESKTOP
ສອບຖາມແລະກໍານົດສິ່ງທີ່ desktop ປ່ອງຢ້ຽມດໍາລົງຊີວິດຢູ່ໃນ. ສະຫນັບສະຫນູນສໍາລັບການນີ້ເຮັດໃຫ້ສິ່ງເຫຼົ່ານີ້
ຄໍາສັ່ງ: "set_desktop_for_window", "get_desktop_for_window".

_NET_ACTIVE_WINDOW
ອະນຸຍາດໃຫ້ທ່ານສອບຖາມ ແລະຕັ້ງໜ້າຕ່າງທີ່ໃຊ້ງານໄດ້ໂດຍການຂໍໃຫ້ຜູ້ຈັດການປ່ອງຢ້ຽມເອົາມາໃຫ້
ໄປຂ້າງຫນ້າ. ການສະຫນັບສະຫນູນສໍາລັບການນີ້ເຮັດໃຫ້ຄໍາສັ່ງເຫຼົ່ານີ້: "windowactivate", "getactivewindow".

_NET_WM_PID
ຄຸນສົມບັດນີ້ແມ່ນຂຶ້ນກັບແອັບພລິເຄຊັນ, ບໍ່ແມ່ນຂຶ້ນກັບຕົວຈັດການປ່ອງຢ້ຽມ. ສອບຖາມ PID
ເປັນເຈົ້າຂອງປ່ອງຢ້ຽມທີ່ໃຫ້. ການສະຫນັບສະຫນູນສໍາລັບການນີ້ເຮັດໃຫ້ຄໍາສັ່ງເຫຼົ່ານີ້: "getwindowpid".

ສະ ໜັບ ສະ ໜູນ ຄຸນ​ລັກ​ສະ​ນະ


xdotool (ແລະ libxdo) ຈະພະຍາຍາມເຮັດວຽກພາຍໃຕ້ສະຖານະການທັງຫມົດ. ຢ່າງໃດກໍຕາມ, ອາດຈະມີ
ບາງກໍລະນີທີ່ການເຮັດວຽກບໍ່ໄດ້ສະຫນອງໃຫ້ໂດຍເຄື່ອງແມ່ຂ່າຍ X ຂອງທ່ານຫຼືໂດຍຜູ້ຈັດການປ່ອງຢ້ຽມຂອງທ່ານ.
ໃນກໍລະນີເຫຼົ່ານີ້, xdotool ຈະພະຍາຍາມກວດຫາແລະບອກທ່ານວ່າການກະທໍາໃດຕ້ອງການຄຸນສົມບັດ
ບໍ່ຮອງຮັບລະບົບຂອງເຈົ້າໃນຂະນະນີ້.

ສໍາລັບຄຸນສົມບັດສະເພາະຂອງຕົວຈັດການປ່ອງຢ້ຽມ, ເບິ່ງ "ຄໍາແນະນໍາຂອງຜູ້ຈັດການປ່ອງຢ້ຽມຂະຫຍາຍ".

XTEST
ຖ້າເຊີບເວີ X ຂອງທ່ານບໍ່ຮອງຮັບ XTEST, ຫຼັງຈາກນັ້ນບາງລັກສະນະການພິມແລະການເຄື່ອນໄຫວຂອງຫນູ
ອາດຈະບໍ່ເຮັດວຽກ. ໂດຍສະເພາະ, ການພິມແລະຫນູທີ່ປະຕິບັດໃນ "ປ່ອງຢ້ຽມປະຈຸບັນ"
(window 0 ໃນ libxdo) ຄົງຈະບໍ່ເຮັດວຽກ.

ໃນກໍລະນີຫຼາຍທີ່ສຸດ, XTEST ແມ່ນຄຸນສົມບັດທີ່ທ່ານສາມາດເປີດໃຊ້ໃນເຄື່ອງແມ່ຂ່າຍ X ຂອງທ່ານຖ້າມັນບໍ່ໄດ້ເປີດໃຊ້
ໂດຍຄ່າເລີ່ມຕົ້ນ

ທ່ານ​ສາ​ມາດ​ເບິ່ງ​ລາຍ​ການ​ຂອງ​ການ​ຂະ​ຫຍາຍ X ສະ​ຫນັບ​ສະ​ຫນູນ​ໂດຍ​ການ​ພິມ 'xdpyinfo​' ແລະ​ເບິ່ງ​
ຂໍ້ຄວາມ 'ຈໍານວນການຂະຫຍາຍ: ...'

ໃຊ້ xdotool ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

Linux ຄຳ ສັ່ງ

Ad




×
ການ​ໂຄ​ສະ​ນາ
?ຊື້ເຄື່ອງ, ຈອງ, ຫຼືຊື້ທີ່ນີ້ — ບໍ່ມີຄ່າໃຊ້ຈ່າຍ, ຊ່ວຍໃຫ້ການບໍລິການຟຣີ.