Python script that converts Ctrl+Super hold-to-talk into Ctrl+`
toggle pairs for OpenWhispr, working around the app's broken
Hold activation mode on Linux.
Uses pynput for key listening and xdotool to send hotkeys.
https://claude.ai/code/session_01XKYC1basxdwtHy71tky7xm
When run via `bash <(curl ...)`, bash reads the script incrementally
from a process substitution fd. If a `read < /dev/tty` call disrupts
the fd state, bash can lose its place and the remaining script lines
get fed to the interactive shell prompt as individual commands.
Wrapping everything in main() forces bash to parse the entire script
into memory before executing any of it — the standard fix for
curl-piped scripts.
Also changed README one-liner to download-then-execute pattern
(curl -o /tmp/... && bash /tmp/...) as a belt-and-suspenders approach.
https://claude.ai/code/session_01XKYC1basxdwtHy71tky7xm
Replace `exec < /dev/tty` (which hijacks bash's script-reading fd and
causes the rest of the script to be interpreted as shell commands) with
per-call `< /dev/tty` redirection on every `read` and prompt `printf`.
This preserves bash's ability to continue reading the script from the
process substitution while still getting interactive input from the
real terminal.
https://claude.ai/code/session_01XKYC1basxdwtHy71tky7xm
- Add `exec < /dev/tty` so `read` works correctly when run via
`bash <(curl ...)` — fixes script failing after pasting API keys
or clicking terminal links
- Search /opt/, /usr/lib/, /snap/bin/ and `dpkg -L` for the
open-whispr binary — fixes "Could not find openwhispr in PATH"
- Replace YOUR_USERNAME with outis1one in all files
- Show detected binary name in summary useful commands
https://claude.ai/code/session_01XKYC1basxdwtHy71tky7xm