AT-SPI for Rust
Higher level, asynchronous Rust bindings to AT-SPI2, using zbus.
Part of the Odilia screen reader project.
Design
- Fully documented, with
#[deny(missing_docs)]- Or at least, it will be by 1.0
- Fully safe, with
#[deny(unsafe_code)] - Fantastic code style with
#[deny(clippy:all, clippy::pedantic, clippy::cargo)]
These bindings are currently general purpose, and can be used in any project. While we intend to try keeping it that way, the design of this crate will likely be affected by the design of Odilia, particularly by it's addon API, which requires that addons from different languages be able to access objects from this crate.
This crate makes use of the zbus crate for dbus
communication. We use the asynchronous zbus API, so to use atspi, you
will need to run an async executer like tokio or
async-std. The async-io and tokio features are exposed and will be passed
through to zbus.
Usage
Add this to Cargo.toml:
[]
= "0.0.1"
Contributing
We love people who add functionality, find bugs, or improve code quality!
You can clone the respository and make modifications just by git clone-ing the repository like so:
At this time, you need to download our entire odilia respository to make modifications to the atspi crate.
This will be changed in the future.
License
All our code is licensed under the GPL v3.