Program xdotool

Ak program xdotool nemáte predinštalovaný, viete si ho stiahnuť pomocou balíčkového manažéra vašej distribúcie Linuxu. Na Ubuntu alebo Linux Mint na to slúži príkaz sudo apt-get install xdotool.

Program xdotool spustíme z príkazového riadka. Príkazy, ktoré má vykonať, mu dáme ako argumenty. Prvým takýmto príkazom, ktorý budete potrebovať, je click. Použiť ho vieme nasledovne:

xdotool click 1
xdotool click --repeat 15 --delay 10 3
xdotool mousedown 1
xdotool mouseup 1

Prvý príkaz raz klikne myšou.

Druhý príkaz klikne pravým tlačidlom myši (číslo 3) pätnásťkrát v rozostupoch 10 milisekúnd.

Tretí príkaz stlačí a podrží ľavé tlačidlo, štvrtý ho pustí.

Číslo hneď za príkazom nám určuje, ktoré tlačidlo bude stlačené. 1 je ľavé, 2 je koliesko a 3 je pravé. Číslo za –repeat nám určuje, koľkokrát chceme tlačidlo stlačiť.

Myšou vieme nielen klikať, ale aj ňou hýbať. Na to slúžia príkazy mousemove a mousemove_relative.

xdotool mousemove 100 200
xdotool mousemove_relative 300 -50

mousemove pohne myšou na zadané súradnice od ľavého horného rohu vašej obrazovky.

mousemove_relative pohne kurzor o daný počet pixelov od jeho aktuálnej polohy (v našom príklade 300 doprava a 50 hore).

S pomocou xdotool vieme aj vypisovať text. Na to slúži type, ktorý vypíše všetky slová zo zvyšku príkazu. Ak chceme, aby vypisoval aj medzery, musíme náš text dať do úvodzoviek.

xdotool type "Hello, world!"

Ak budeme niekedy potrebovať stláčať klávesové skratky alebo iné kombinácie kláves, môžeme použiť príkaz key.

xdotool key ctrl+c space Return

Tento príkaz najskôr stlačí klávesovú skratku ctrl+c, potom stlačí medzerník a nakoniec klávesu enter.

Niekedy by sme potrebovali spúšťať niekoľko príkazov hneď po sebe. Na tento účel si vieme spraviť skript, ktorý nám bude zaradom spúšťať naše príkazy. Skript mô6e vyzerať napríklad takto:

xdotool click --repeat 5 1
xdotool type "Ahoj."
xdotool key space
sleep 0.1

Ak vykonávame veľa príkazov hneď po sebe, môže sa nám stať, že sa niektorý z nich nezaregistruje. Vyriešiť to vieme tak, že medzi príkazy zdotool dáme príkaz sleep, ktorý počká zadaný čas (v sekundách).

Tento skript si uložíme do nejakého súboru, napríklad prask.sh. Spúšťať ho potom vieme z príkazového riadku: sh prask.sh.