x_do.cr alternatives and similar shards
Based on the "C bindings" category.
Alternatively, view x_do.cr alternatives based on common mentions on social networks and blogs.
SaaSHub - Software Alternatives and Reviews
Do you think we are missing an alternative of x_do.cr or a related project?
README
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.
Installation
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
Usage
require "x_do"
XDo.act do
active_window do |win|
win.type "hello from Crystal!"
end
end
Check out the [examples](./examples) folder for some practical examples.
Testing
The unit tests make the following assumptions:
- You're running an instance of X11
- You're running a window manager that's (mostly) ICCCM and EWMH compliant
- You have
xlogo
installed
To 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
TODO
- Complete bindings (
grep "implement me!"
) - Add error conditions (check return value of libxdo calls)
Contributing
- Fork it ( https://github.com/woodruffw/x_do/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- woodruffw William Woodruff - creator, maintainer
*Note that all licence references and agreements mentioned in the x_do.cr README section above
are relevant to that project's source code only.