Skip to content

v0.7.0 — an honest capability statement

Choose a tag to compare

@javimosch javimosch released this 12 Aug 17:12
· 1 commit to main since this release

A release about saying what this tool can and cannot do, and what was actually tested. No behaviour changes since v0.6.3 — the code was fine, the documentation overclaimed.

What changed

The README listed "GTK/Qt/Chromium/Electron" as good coverage. Only GTK and Chromium had ever been exercised. Qt has now actually been tested; Electron and Java have not, and now say so.

Target Status Evidence
GTK 3/4 apps verified gnome-calculator, gnome-text-editor, gnome-control-center, gnome-disks, seahorse, Nautilus — read, act, type, watch
Qt 5 apps verified QDBusViewer: 12 interactive elements; act fired ShowMenu and the File menu opened
Chromium/Edge web content verified, needs --force-renderer-accessibility test page exposed 41 elements incl. real DOM; Microsoft Teams navigated, composed, sent
Chromium/Edge without the flag broken by design exposes exactly one frame — zero web content
Electron not tested expected to need the same flag
Java (Swing/AWT) not tested needs java-atk-wrapper
Flutter / canvas / games expected to expose nothing not tested
Wayland click/key do not work XTEST cannot reach native Wayland clients; AT-SPI paths still work (#1)

The honest caveats

  • Tested on exactly one configuration: Ubuntu 22.04.3, GNOME 42.9, X11, at-spi2-core 2.44.0, x86-64. Wayland, KDE/XFCE, other distros, HiDPI/fractional scaling, multi-monitor, non-US keyboard layouts and arm64 are all untested.
  • There is no automated test suite. Every number in the README is a real measurement, but nothing re-checks them on commit. test/env.sh is an isolation harness, not a test runner. This is now the top item under Next, ahead of Wayland.
  • It can break the apps it drives. While building it, this tool crashed a browser three times before the cause was isolated, and once knocked out the developer's own session accessibility bus (a test-isolation gap, since fixed). Both are documented rather than quietly patched.
  • Two previously published measurements were wrong and were corrected in later notes — a "zero memory growth" claim read off too short a run, and a "regression" that turned out to predate the change blamed for it.

What it is good at

Driving GTK and Qt desktop apps, and web apps in a suitably-launched Chromium, by name rather than by pixel — with refs that go stale loudly (exit 83) instead of silently acting on the wrong widget, truncated reads that announce themselves, and an event stream you can block on instead of polling. It ships zero LLM code: your agent is the loop.

If you are on Wayland, or need Electron/Java, this is not ready for you yet.

Install

curl -L -o linux-use https://github.com/javimosch/linux-use/releases/download/v0.7.0/linux-use-v0.7.0-x86_64-linux
chmod +x linux-use && sudo mv linux-use /usr/local/bin/
sudo apt install libatspi2.0-0 libxtst6 libx11-6 libglib2.0-0 xclip
gsettings set org.gnome.desktop.interface toolkit-accessibility true
linux-use doctor && linux-use guide

sha256: caaa7ac615f29b9ba8e8f5027ffa53c68302f1d0123973358a227dd06b103720

Start with linux-use guide — the whole operator manual is embedded in the binary.

Issues and PRs welcome, particularly from anyone on Wayland, KDE, or a non-GNOME desktop: those are the gaps.

Full Changelog: v0.6.3...v0.7.0