Waybar Integration
Add a Voxtype status indicator to your Waybar that shows when you’re recording.What It Shows
The Waybar module displays an icon that changes based on Voxtype’s state:| State | Default Icon | Meaning |
|---|---|---|
| Idle | 🎙️ | Ready to record |
| Recording | 🎤 | Hotkey held, capturing audio |
| Transcribing | ⏳ | Processing speech to text |
| Stopped | (empty) | Voxtype not running |
Quick Setup
Manual Setup
1. Add module to Waybar config (~/.config/waybar/config):
Extended Status Info
Include model, device, and backend information:Custom Icons
Voxtype supports multiple icon themes: Option 1: Use Voxtype config| Theme | Idle | Recording | Transcribing | Requires |
|---|---|---|---|---|
emoji | 🎙️ | 🎤 | ⏳ | None |
nerd-font | U+F130 | U+F111 | U+F110 | Nerd Font |
material | U+F036C | U+F040A | U+F04CE | Material Design Icons |
phosphor | U+E43A | U+E438 | U+E225 | Phosphor Icons |
minimal | ○ | ● | ◐ | None |
text | [MIC] | [REC] | […] | None |
Custom Styling
Add to~/.config/waybar/style.css:
Troubleshooting
Module shows nothing: Verify state file is enabled:Systemd Service
Run Voxtype as a systemd user service for automatic startup.Installation
~/.config/systemd/user/voxtype.service and enables it.
Manual Installation
Create~/.config/systemd/user/voxtype.service:
Managing the Service
Environment Variables
Add environment variables to the service by creating an override:DankMaterialShell Widget (KDE Plasma)
DankMaterialShell (DMS) is a QML-based alternative shell for KDE Plasma. Voxtype provides a status widget.Installation
~/.local/share/plasma/plasmoids/.
Usage
- Right-click on your panel
- “Add Widgets”
- Search for “Voxtype”
- Add to panel
Uninstallation
Compositor Integration
Use your compositor’s native keybindings for push-to-talk instead of Voxtype’s built-in hotkey.Why Compositor Keybindings?
- No special permissions: No need to be in
inputgroup - Native integration: Uses compositor’s key-release events
- Flexible keybindings: Use Super/Meta and other modifiers
- Works with multi-modifier combos: Super+Ctrl+X, etc.
Hyprland Setup
1. Disable built-in hotkey:~/.config/hypr/hyprland.conf:
Sway Setup
River Setup
Output Hooks (Modifier Key Interference)
When using multi-modifier keybindings (e.g., Super+Ctrl+X), releasing keys slowly can cause typed text to trigger compositor shortcuts. Solution: Use output hooks to disable shortcuts during typing.- Pre-output hook: Switches to a submap that blocks shortcuts
- Post-output hook: Returns to normal submap after typing
Remote Whisper API
Transcribe audio on a remote server instead of locally.Use Cases
- Self-hosted server: Offload transcription to a more powerful machine
- Shared infrastructure: Multiple users share a GPU server
- Cloud services: Use OpenAI’s Whisper API (privacy considerations apply)
Self-Hosted whisper.cpp Server
On the server:OpenAI API
LLM Post-Processing
Pipe transcriptions through a local LLM for grammar correction, filler word removal, or text formatting.Ollama Integration
1. Install Ollama: https://ollama.ai 2. Pull a model:LM Studio Integration
Create a script (~/.config/voxtype/lm-studio-cleanup.sh):
Profiles for Different Contexts
Define profiles for context-specific post-processing:Performance Considerations
- Adds latency: 2-5 seconds depending on model size
- Use small models: llama3.2:1b is fast and sufficient for cleanup
- Timeout protection: Falls back to original text if LLM fails
Output Hooks
Run custom commands before and after typing output.Use Cases
- Compositor integration: Block modifier keys during typing
- Notifications: Alert when transcription starts/finishes
- Logging: Record transcription events
- Custom workflows: Trigger other automation