Added icon to music module

This commit is contained in:
Mahesh Asolkar 2025-05-11 20:22:13 -07:00
parent b7f83b4810
commit b8b0afd945
Signed by: asolkar
GPG Key ID: 371CA8164433BDCC
2 changed files with 18 additions and 2 deletions

View File

@ -8,6 +8,7 @@ pub struct UnibarModuleMusic {
opts: common::AppOptions,
current_stdout :String,
progress_stdout :String,
state_stdout: String,
}
impl UnibarModuleMusic {
@ -17,6 +18,7 @@ impl UnibarModuleMusic {
opts: o,
current_stdout: "".to_string(),
progress_stdout: "".to_string(),
state_stdout: "stopped".to_string(),
}
}
}
@ -47,6 +49,15 @@ impl bar_modules::BarModuleActions for UnibarModuleMusic {
self.progress_stdout = String::from_utf8(progress_output.stdout).unwrap();
self.progress_stdout.pop();
}
let icon_output = Command::new("mpc")
.arg("status")
.arg("%state%")
.stdout(Stdio::piped())
.output()
.unwrap();
self.state_stdout = String::from_utf8(icon_output.stdout).unwrap();
self.state_stdout.pop();
}
// --------------------
@ -63,7 +74,12 @@ impl bar_modules::BarModuleActions for UnibarModuleMusic {
// --------------------
fn get_icon(&self) -> String {
return "".to_string();
// MPD state can be 'playing', 'paused' or 'stopped'
match self.state_stdout.as_str() {
"paused" => return "".to_string(),
"stopped" => return "".to_string(),
_ => return "𝄞".to_string(),
}
}
}

View File

@ -89,7 +89,7 @@ impl Unibar {
}
// Print parts provided by each module
println!("{}", parts.join(" | "));
println!("{}", parts.join(" "));
}
// --------------------