- Add windows_subsystem = "windows" to prevent console window on double-click
- Use AttachConsole(ATTACH_PARENT_PROCESS) so CLI subcommands still work from a terminal
- Show MessageBoxW error dialog if daemon fails to start
- Remove hide_console() (now unnecessary)
- Fix unused import warning in ipc.rs (warn → tracing::warn! inline)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When stdin is not a terminal (e.g. run from a tool or CI), skip the
confirmation prompt and proceed with publishing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Enumerates available audio input devices via cpal and presents them
in a dropdown, with "System default" as the first option.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The cancel key was consumed by rdev::grab at all times, not just during
recording/transcribing. This made the Escape key unusable system-wide
while Mouth was running. Now the cancel key only gets swallowed when
Mouth is actively recording or transcribing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Unsigned Rust binaries that use keyboard hooks, input simulation, and
clipboard access trigger Defender heuristics. Document the workaround
(Defender exclusion) and point users to building from source.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add system tray icon with Exit menu (tray-icon/muda)
- Add IPC daemon status via named pipe (Windows) / Unix socket (Linux)
- Add `mouth status` command to query running daemon
- Add daemon lock to prevent multiple instances
- Hide Windows console window when running as daemon
- Wire up Silero VAD model download and speech filtering
- Switch hotkey listener from rdev::listen to rdev::grab to consume hotkeys
- Add hotkey capture mode in interactive config (press keys instead of typing)
- Add all missing key names (brackets, punctuation, numpad, etc.)
- Fix ONNX tensor type mismatches (encoder wants i64, decoder wants i32)
- Add 300ms lead-in silence to compensate for mic startup latency
- Add 300ms trailing recording after stop for speech not to be clipped
- Add 50ms silence before audio feedback blips for device warmup
- Reduce overlay size (150x18, was 200x36)
- Add PolyForm Noncommercial 1.0.0 license
- Flesh out user-focused README
- Update release script with Gitea/GitHub forge support
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Builds x86_64 Linux (native) and x86_64 Windows (MSVC via cargo-xwin).
Produces tar.gz for Linux, zip for Windows, plus SHA256 checksums.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>