The Accessibility Shell
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
acsh
An interactive shell for exploring the AT-SPI2 accessibility tree on Linux desktops.
Repository: https://dev.thewordnerd.info/nolan/acsh
Features
- Browse applications and their accessible elements with familiar shell commands (
ls,cd,cat) - Watch accessibility events in real-time
- Search the accessibility tree via name, role, or state
- Cat individual accessible items for more details
- Mount the accessibility tree as a FUSE filesystem
Installation
With a Rust toolchain:
cargo install --git https://dev.thewordnerd.info/nolan/acsh
To upgrade, re-run with --force.
Or with Nix:
nix profile install git+https://dev.thewordnerd.info/nolan/acsh
To upgrade:
nix profile upgrade acsh --refresh
Sample Session
$ acsh
acsh REPL - type 'help' or '--help' for commands
/> ls
+-------+---------------------------+--------------------+-------------+
| Index | Reference | Name | Role |
+-------+---------------------------+--------------------+-------------+
| 0 | org-gnome-terminal-1.10 | org.gnome.Terminal | application |
+-------+---------------------------+--------------------+-------------+
| 1 | firefox-1.20 | Firefox | application |
+-------+---------------------------+--------------------+-------------+
| ... | ... | ... | ... |
+-------+---------------------------+--------------------+-------------+
/> cd org-gnome-terminal-1.10
/org-gnome-terminal-1.10> ls
+-------+-------------+----------+-------+
| Index | Reference | Name | Role |
+-------+-------------+----------+-------+
| 0 | terminal-78 | Terminal | frame |
+-------+-------------+----------+-------+
/org-gnome-terminal-1.10> watch terminal-78
[terminal-78] TextCaretMoved: position=1823
[terminal-78] TextChanged: operation="Insert", text="ls"
[terminal-78] BoundsChanged
^C
/org-gnome-terminal-1.10> exit
License
MIT