HoldToSpeak 0.1.2 — app icon, real global hotkeys, redesigned overlays
Polish release: the app now has an identity, and the keys it advertises actually work.
Download
| HoldToSpeak-0.1.2-x64-setup.exe | Installer. Per-user — installs to %LOCALAPPDATA%, never asks for admin rights. |
| HoldToSpeak-0.1.2-x64.zip | Portable. Unzip and run nib-core.exe. |
HoldToSpeak-0.1.2-x64-setup.exe 20A627D541BB723B31F764BD9BEFABD95C2E7503CCEA1ABB8C5B7DCC9206A7DB
HoldToSpeak-0.1.2-x64.zip 28278660A042449DFA8C39C522F0AAB05B1D6B6F9A934F4E0B1A1517D48476A7
Still unsigned, so SmartScreen will warn on first run — More info → Run anyway, or verify
against the hashes above.
New: it has a face
An actual app icon, in the tray, the taskbar, the Start menu, the installer and Add/Remove
Programs. A dark tile with a glowing waveform and HUD corner brackets — deliberately the same
visual language as the on-screen overlay, so the whole thing reads as one product instead of an
anonymous binary.
The small sizes are a simplified drawing rather than a shrunk copy: five bars at 16 px works out
under 1.5 px each and antialiases into a smear, so the tray version uses three fatter bars. The
icon is generated by a committed script, so it stays reproducible.
New: global hotkeys that exist
The old startup banner listed m = cycle mode · q = quit without saying those were typed into
its own console window — so they looked like hotkeys and did nothing when pressed anywhere else.
Now they're real:
| Ctrl + Win (hold) | dictate — speak, then release |
| Ctrl + Alt + M | cycle cleanup mode |
| Ctrl + Alt + O | cycle overlay theme |
| Ctrl + Alt + Q | quit |
All rebindable in %APPDATA%\HoldToSpeak\hotkeys.toml (off disables one). The banner now prints
your actual bindings, so it can never advertise a key that doesn't exist.
Improved: the overlay themes
HUD was the only theme that told you anything. The other three were decoration — nothing on
screen showed the cleanup mode, or even whether the mic was being heard. The rule now: picking a
theme changes how the overlay looks, never what it tells you. Every theme gained the same status
row (a live dot that tracks your input, the mode label, an input meter), and each got its artwork
redone:
- Bars — a studio meter: gradient bars with bright tips, falling peak-hold caps, and a
reflection that grounds them. Was a flat block of rectangles that looked like a media player. - Wave — an oscilloscope: the voice bands are now harmonics of one trace over a faint
graticule, with two phase-lagged ghosts for motion. Was three crossing sines that read as a
screensaver. - Volt — electrodes at both ends, so the bolt reads as current flowing between two
terminals rather than a stray scribble in an empty panel.
Every iteration was rendered and checked over both a dark and a light background, since the
overlay is translucent and a design that reads on one can vanish on the other.
Also
- Cleanup Polish mode (added in 0.1.1) strips conversational filler —
, like,,, you know,,
and stuff— while leaving "I like this" and "you know the answer" intact. - winget manifest updated to 0.1.2.
- 81 tests, clippy
-D warnings, and the platform-layering check all clean in CI.
Unchanged: your voice still never leaves your machine. No account, no telemetry, one network
request ever — the first-run model download, against a pinned checksum. See
PRIVACY.md.