Crystal bindings for libxdo (xdotool)
https://github.com/woodruffw/x_do.cr.git
x_do ====
XDo is a Crystal interface for libxdo,
the C library that backs xdotool.
It exposes most of the functionality of xdotool, allowing
users to write Crystal programs that manage windows in an X11 instance.
Add this to your application's shard.yml:
dependencies:
x_do:
github: woodruffw/x_do.cr
libxdo is required. On Debian-based systems, it can be installed via:
$ sudo apt install libxdo-dev
require "x_do"
XDo.act do
active_window do |win|
win.type "hello from Crystal!"
end
end
Check out the examples folder for some practical examples.
The unit tests make the following assumptions:
xlogo installedDISPLAY, falling back on :0):
$ crystal spec
Alternatively, the tests can be run on another X11 display, like a Xephyr or Xvfb instance:
# replace "99" with your display number
$ DISPLAY=:99 crystal spec
The util/xvfb-spec script can be used to run the tests inside a temporary Xvfb instance running
Openbox:
$ ./util/xvfb-spec
grep "implement me!")