diff --git a/src/exec.rs b/src/exec.rs index ea13845..1d40032 100644 --- a/src/exec.rs +++ b/src/exec.rs @@ -287,7 +287,7 @@ pub fn exec(command: ExecCommand, uiclient: &dyn UiClient) -> anyhow::Result<()> let short_name = if server_name.len() > 7 { bs58::encode(&server_name).into_string()[0..7].to_string() } else { - server_name.clone() + server_name.replace('-', "") }; format!("vo_{alias}_{short_name}") }; diff --git a/vopono_core/src/util/pulseaudio.rs b/vopono_core/src/util/pulseaudio.rs index c19b11e..2b73c5b 100644 --- a/vopono_core/src/util/pulseaudio.rs +++ b/vopono_core/src/util/pulseaudio.rs @@ -4,8 +4,11 @@ use regex::Regex; use std::process::Command; pub fn get_pulseaudio_server() -> anyhow::Result { - let output = Command::new("pactl").args(["info"]).output()?.stdout; - let re = Regex::new(r"Server String: ([^\n]+)").unwrap(); + let output = Command::new("pactl") + .args(["-f", "json", "info"]) + .output()? + .stdout; + let re = Regex::new("\"server_string\":\"([^\"]+)\"").unwrap(); let output = std::str::from_utf8(&output)?; let caps = re.captures(output);