Settings Management
get_settings
Retrieve current application settings.save_settings
Save updated application settings.Settings
required
Complete settings object to save
- Model Change: Preloads new model and updates tray menu
- Recording Mode Change: Updates PTT shortcut registration
- Pill Indicator Mode Change: Shows/hides pill widget
- Pill Position Change: Recreates pill window at new location
- Onboarding Complete: Starts device watcher
- Emits Event:
settings-changedto all windows
AppSettings Interface
Shortcut Management
set_global_shortcut
Update the global recording shortcut.string
required
Keyboard shortcut (e.g.,
"CommandOrControl+Shift+Space")- Checks format validity
- Normalizes key names (e.g.,
Space→space) - Attempts registration with OS
- Returns error if hotkey is already in use
CommandOrControl(Cmd on macOS, Ctrl on Windows/Linux)ShiftAlt/OptionControlCommand(macOS only)
"Hotkey is already in use by another application"- Conflict detected"Invalid hotkey combination"- Invalid format"Invalid shortcut format"- Parsing error
Language Settings
get_supported_languages
Get list of supported transcription languages.Audio Device Settings
set_audio_device
Set the selected microphone device.string | null
required
Device name or
null for system default- Stops any active recording
- Updates settings
- Refreshes tray menu
- Emits
audio-device-changedevent
validate_microphone_selection
Validate that the selected microphone still exists.true if microphone was reset, false if valid or using default
Usage:
- Checks if selected microphone exists in device list
- If missing, resets to system default
- Returns
trueif reset occurred
Model Settings
set_model_from_tray
Set the active model from tray menu selection.string
required
Model to activate
- Determines model engine (Whisper/Parakeet/Soniox)
- Updates settings
- Preloads model (if Whisper)
- Updates tray menu
- Emits
model-changedevent
update_tray_menu
Refresh the tray menu (called automatically after model/device changes).Frontend Logging
frontend_log
Log a message from frontend to backend logs.string
required
Log message
[FRONTEND] User clicked download button
Settings Constants
Default Settings
Example: Complete Settings Update
See Also
- Audio Commands - Recording and device management
- Model Commands - Model selection and downloads
- AI Commands - AI enhancement settings