h1. Automations
First, this is the general README. READMEs for au3 and xdo exist in their subdirectory.
h2. What's Automations?
Automations is a project targeting input automation for Ruby. You can simulate mouse and keyboard input, access windows as objects and do some other nice things you would have to do by hand otherwise. This is also the main point why the Automations project exists: It aims at helping you to automize (hence the name) some long process for which you probably just sit in front of your screen and hit Enter, select something, hit Enter again, click a button, and so on. If you don't want to do this over and over again, then Automations is the solution to a Ruby programmer.
h2. What's needed?
Currently, the Automations project supports both Linux X Server systems and the Microsoft® Windows® platform. If you want to run Automations on Windows®, you need to download the @au3@ gem. It's based on the C interface of the AutoIt scripting language, so you'll need the DLL file AutoItX3.dll which can be easily obtained by downloading "AutoIt":http://www.autoitscript.com and then copying the file from the AutoItX subdirectory into your Ruby installation's bin directory. After that, you should be able to start using au3 by doing a @require "au3"@.
For Linux X Server systems you need, beside the @xdo@ gem, command line tools like @xdotool@. (see the "Wiki":http://wiki.github.com/Quintus/Automations for a full list). Ubuntu and Debian users may try to obtain that tools via @aptitude@, @apt-get@, the Synaptic GUI or whatever package manager you prefer. Others will have to compile xdotool. Get it from "http://www.semicomplete.com/projects/xdotool/":http://www.semicomplete.com/projects/xdotool/ and follow the instructions in the INSTALL file.
h2. Example of usage
h3. Windows®
bc. require "au3" AutoItX3.move_mouse(100, 100) AutoItX3.send_keys("AB{ESC}c") #Sends A, B, [ESC], and c win = AutoItX3::Window.new("Paint") win.move(25, 25) win.close
h3. Linux
bc. require "xdo/mouse" require "xdo/keyboard" require "xdo/xwindow" XDo::Mouse.move(100, 100) XDo::Keyboard.simulate("AB{ESC}c") #Sends A, B, [ESC], and c xwin = XDo::XWindow.from_name("README") xwin.move(25, 25) xwin.close
h3. What's planned for the future?
h3. Contact
If you want to contact me, for whatever reason, bugs, contributing, just email me at sutniuq@@gmx@net.
bc. Initia in potestate nostra sunt, de eventu fortuna iudicat.