Command
Description
Display the current state of the Voxtype daemon. Designed for integration with status bars (Waybar, polybar, i3status) and custom scripts. Supports one-shot mode (print current state and exit) and follow mode (continuously output state changes). Possible states:- idle - Daemon is running and ready to record
- recording - Currently recording audio
- transcribing - Processing the recorded audio
- stopped - Daemon is not running
Flags
Continuously output status changes as JSON (for Waybar
exec modules)Watches the state file using inotify and prints a new line whenever the state changes. Also detects when the daemon stops (process dies or state file is deleted).Output format:
text or json- text: Plain state name (βidleβ, βrecordingβ, βtranscribingβ, βstoppedβ)
- json: Waybar-compatible JSON with
text,alt,class, andtooltipfields
Include extended info in JSON output (model, device, backend)Adds
model, device, and backend fields to the JSON output. Useful for status bar tooltips showing detailed information.Icon theme for JSON outputOverrides the
status.icon_theme setting in config. Available themes:emoji- π€ π΄ βοΈ π€nerd-font- Nerd Font iconsmaterial- Material Design iconsphosphor- Phosphor iconscodicons- VS Code iconsomarchy- Omarchy (Arch) thememinimal- Simple ASCIIdots- Dots (β β β β)arrows- Arrows (βΆ βΈ βΉ)text- Text labels (βIDLEβ, βRECβ, βPROCβ)/path/to/theme.toml- Custom theme file
JSON Output Format
When--format json is used, the output is a Waybar-compatible JSON object:
Fields
Icon or text to display (based on
--icon-theme)State name for Waybar
format-icons mappingAllows Waybar to choose icons based on state using the format-icons directive.CSS class name for styling (same as state name)Use in Waybar CSS to style each state differently:
Human-readable description of the current state
Extended Fields
When--extended is used, additional fields are included:
Model name (e.g., βbaseβ, βlarge-v3-turboβ, βparakeet-tdt-0.6b-v3β)
Audio input device name
Transcription backend (e.g., βCPU (AVX2)β, βGPU (Vulkan)β, βGPU (CUDA)β)
Examples
One-Shot Status Check
Waybar Integration
Add to your Waybar config (~/.config/waybar/config):
~/.config/waybar/style.css):
Extended Information
Custom Icon Theme
Follow Mode (Continuous Output)
stopped state.
Scripting
Requirements
State File Configuration
Thestatus command requires state_file to be configured in config.toml:
"auto"- Automatically uses$XDG_RUNTIME_DIR/voxtype/stateor/run/user/<uid>/voxtype/state"/path/to/file"- Custom path- Not set - The
statuscommand will error with setup instructions
Daemon Detection
The command checks if the daemon is actually running by verifying:- The PID file exists (
$XDG_RUNTIME_DIR/voxtype/pid) - The process is alive (
/proc/<pid>exists)
stopped (even if a stale state file exists).
Icon Themes
Built-in icon themes:| Theme | Idle | Recording | Transcribing | Stopped |
|---|---|---|---|---|
| emoji | π€ | π΄ | βοΈ | π€ |
| nerd-font | ||||
| material | ||||
| phosphor | ||||
| codicons | $(mic) | $(circle-filled) | $(sync~spin) | $(debug-pause) |
| omarchy | σ°¬ | σ° | σ±€Ώ | σ°² |
| minimal | [ ] | [*] | [β¦] | [_] |
| dots | β | β | β | β |
| arrows | βΆ | βΊ | βΈ | βΉ |
| text | IDLE | REC | PROC | STOP |
Notes
- State file updates: The daemon writes to the state file on every state change. The
--followmode uses inotify to watch for changes efficiently (no polling). - Waybar caching: Waybar may cache the module output. Reload with
pkill -SIGUSR2 waybarafter config changes. - Process detection: If the daemon crashes, followers will detect the stopped state within 500ms via the polling interval.
- Performance: Follow mode uses minimal CPU (inotify-based, not polling).
See Also
- voxtype setup waybar - Install Waybar integration
- voxtype config - Show full configuration
- Integrations - Detailed Waybar setup