v0.6.3 — keysym case fix + app disambiguation
Two correctness fixes, both cases of the tool giving a confident wrong answer instead of refusing.
Ambiguous --app is refused, not guessed (#3)
Two applications can publish the same accessible name — two browser profiles both call themselves Microsoft Edge. --app silently resolved to whichever the desktop listed first.
$ linux-use apps
{"name":"Microsoft Edge","pid":872010,"toolkit":"Chromium","windows":1,"ref":"Microsoft Edge#pid872010"}
{"name":"Microsoft Edge","pid":924858,...,"ref":"Microsoft Edge#pid924858"}
"ambiguous_names":["Microsoft Edge"]
$ linux-use state --app 'Microsoft Edge' # app_ambiguous, exit 80
$ linux-use state --app 'Microsoft Edge#pid924858' # 39 elements
$ linux-use state --app 'Microsoft Edge' --pid 924858 # sameapps now reports pid, toolkit and a ready-made selector, flags ambiguous_names and warns on stderr. windows and find honour the same filter. An absent app still reports app_not_found (82), distinct from ambiguous (80).
Verified with two same-named Edge instances: 375 vs 39 elements, and a heading unique to the second instance is found only under its own pid.
Case-sensitive keysyms, and --dry-run (#2)
key lowercased the whole combo before lookup, but X keysym names are case-sensitive — so alt+F4 failed with unknown_key, while aliases like enter masked the problem for the keys people test first. Closing a window, the obvious move for an app exposing no accessible action, was impossible.
Resolution now tries the alias table (case-insensitive) → the token exactly as written → the token capitalised.
| combo | resolves to |
|---|---|
alt+F4 / alt+f4 |
Alt_L + F4 |
ctrl+F12, Print, Menu, shift+Insert, Pause |
as written |
ctrl+shift+t, enter, esc, pageup, super+left |
unchanged |
Also added f1–f24 in either case plus insert, print, menu, pause, capslock, numlock, scrolllock, altgr aliases, and:
linux-use key alt+F4 --dry-run # {"keys":["Alt_L","F4"],"sent":false}so a combo can be validated without closing a window to find out.
Install
curl -L -o linux-use https://github.com/javimosch/linux-use/releases/download/v0.6.3/linux-use-v0.6.3-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
linux-use doctor && linux-use guidesha256: e58b6270f310e38cb2814e8330b1b693a09d9559b0c8fc018539e4a4d7c0afd5
Full Changelog: v0.6.2...v0.6.3