Welcome to Automations!

Welcome to the Automations project (or rather, to it’s website ;-) ). If you’re looking for a tool that fakes input, you’ve come to the right place. If you’re looking for automated running of source code, you aren’t. If you’re looking for automating long GUI-driven processes, you’re correct here. If you’re looking for test suites, you aren’t.

If you’re looking for fun, now… probably. Read on and find out yourself.

What can be accomplished with Automations?

First, the term “Automations” is just a name for two subprojects, au3 and xdo.

au3 is a Ruby wrapper library for the well-known Windows automation tool AutoIt. To get it up and running, you need to have the AutoIt Extension DLL file, with name AutoItX3.dll. The easiest way to get it, is to just download AutoIt and copy the file from AutoIt’s subdirectory AutoItX to your Ruby installation’s bin directory. If that directory is in your PATH environment variable, you can now download au3 and start programming. If not, whyever, you should either add it or copy the DLL file to the directory you’re writing your scripts in.

xdo is a Ruby wrapper library either, but it’s for X Server-based Linux distributions. That means, it will run on OpenSUSE as well as on Ubuntu or other distributions (disclaimer: I can only test with a recent Ubuntu machine). xdo wraps the command-line tools xdotool, xsel, xwininfo, eject and xkill. If they’re not installed on your system, you will need to do that. xdotool can be downloaded from semicomplete.com, the others are distribution-dependant I think. Debian and Ubuntu users should try to apt-get them.

How to install?

They’re gems, so just proceed as always.

# gem install xdo
# gem install au3


This section just shows how to require au3 or xdo. See au3’s and xdo’s documentation for more information.


require "au3"
AutoItX3.mouse_move(100, 100)


require "xdo/mouse"
XDo::Mouse.move(100, 100)