pub struct Config {Show 27 fields
pub hotkey: String,
pub model_size: String,
pub asr_backend: AsrBackend,
pub asr_quantization: AsrQuantization,
pub language: String,
pub spoken_punctuation: bool,
pub filler_word_removal: bool,
pub max_recordings: u32,
pub mode: InputMode,
pub streaming: bool,
pub translate_to_english: bool,
pub noise_suppression: bool,
pub vocabulary: Vec<String>,
pub app_contexts: HashMap<String, AppContextConfig>,
pub excluded_apps: Vec<String>,
pub dictation_mode: DictationMode,
pub app_mode: AppMode,
pub wake_word: String,
pub stop_phrase: String,
pub notes_dir: Option<PathBuf>,
pub system_audio_device: Option<String>,
pub stealth_mode: bool,
pub llm_model: String,
pub ollama_url: String,
pub sessions_dir: Option<String>,
pub auto_summary: bool,
pub auto_update: bool,
}Fields§
§hotkey: String§model_size: String§asr_backend: AsrBackendASR backend engine (default: whisper)
asr_quantization: AsrQuantizationONNX model quantization level (default: int4, only used for ONNX backends)
language: String§spoken_punctuation: bool§filler_word_removal: bool§max_recordings: u32§mode: InputMode§streaming: bool§translate_to_english: bool§noise_suppression: boolEnable noise suppression via nnnoiseless (default: true)
vocabulary: Vec<String>Global vocabulary terms to bias Whisper toward
app_contexts: HashMap<String, AppContextConfig>Per-application context configurations, keyed by bundle ID or process name
excluded_apps: Vec<String>App identifiers to exclude from context capture (password managers, banking apps)
dictation_mode: DictationModeDefault dictation mode
app_mode: AppModeApplication mode: dictation (paste at cursor) or notes (overlay + wake word)
wake_word: StringPhrase that triggers dictation when spoken (default: “murmur start dictation”)
stop_phrase: StringPhrase that stops dictation when spoken (default: “murmur stop dictation”)
notes_dir: Option<PathBuf>Directory for saving dictation notes (default: data_dir/murmur/notes)
system_audio_device: Option<String>Input device name for system audio capture (e.g. “BlackHole 2ch”). When set, meeting sessions capture both mic and system audio.
stealth_mode: boolHide the overlay window from screen capture and screen sharing.
llm_model: StringLLM model name for Ollama (default: “phi3”)
ollama_url: StringOllama API base URL
sessions_dir: Option<String>Directory for storing meeting sessions
auto_summary: boolAuto-generate summary when meeting ends
auto_update: boolAutomatically check for and apply updates on startup (default: false)
Implementations§
Source§impl Config
impl Config
pub fn dir() -> PathBuf
pub fn file_path() -> PathBuf
Sourcepub fn is_notes_mode(&self) -> bool
pub fn is_notes_mode(&self) -> bool
Whether the app is in Notes mode.
Sourcepub fn default_model_for_backend(&self) -> &'static str
pub fn default_model_for_backend(&self) -> &'static str
Default model size for the current ASR backend.
Sourcepub fn backend_has_native_formatting(&self) -> bool
pub fn backend_has_native_formatting(&self) -> bool
Whether the current backend produces pre-formatted output (punctuation, capitalization).
Sourcepub fn notes_dir(&self) -> PathBuf
pub fn notes_dir(&self) -> PathBuf
Resolved notes directory, falling back to data_dir/murmur/notes.
pub fn load() -> Self
pub fn load_from(path: &Path) -> Self
pub fn parse(contents: &str, source: &Path) -> Self
pub fn save(&self) -> Result<()>
pub fn save_to(&self, path: &Path) -> Result<()>
pub fn effective_max_recordings(value: u32) -> u32
Sourcepub fn load_vocab_file(dir: &Path) -> Vec<String>
pub fn load_vocab_file(dir: &Path) -> Vec<String>
Load vocabulary terms from a .murmur-vocab file if it exists in the given directory.
The file contains one term per line. Empty lines and lines starting with # are ignored.
Sourcepub fn effective_vocabulary(
&self,
app_id: Option<&str>,
project_dir: Option<&Path>,
) -> Vec<String>
pub fn effective_vocabulary( &self, app_id: Option<&str>, project_dir: Option<&Path>, ) -> Vec<String>
Collect all effective vocabulary: global config + app-specific + vocab file.
Sourcepub fn is_app_excluded(&self, app_id: &str) -> bool
pub fn is_app_excluded(&self, app_id: &str) -> bool
Check if an app is excluded from context capture.
Sourcepub fn effective_dictation_mode(&self, app_id: Option<&str>) -> DictationMode
pub fn effective_dictation_mode(&self, app_id: Option<&str>) -> DictationMode
Get the effective dictation mode for a given app.