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
installedTo run the unit tests on the default X11 display (DISPLAY
, 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!"
)