volume icon dependend on loudness/mute
This commit is contained in:
parent
840f2ff5fd
commit
99f6830083
@ -3,7 +3,9 @@ use std::default::Default;
|
|||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Volume {
|
pub struct Volume {
|
||||||
pub icon: String,
|
pub icon_high: String,
|
||||||
|
pub icon_low: String,
|
||||||
|
pub icon_muted: String,
|
||||||
pub enabled: bool,
|
pub enabled: bool,
|
||||||
pub delay: f64,
|
pub delay: f64,
|
||||||
pub card: String,
|
pub card: String,
|
||||||
@ -12,7 +14,9 @@ pub struct Volume {
|
|||||||
impl Default for Volume {
|
impl Default for Volume {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Volume {
|
Volume {
|
||||||
icon: String::from(""),
|
icon_high: String::from("🕪"),
|
||||||
|
icon_low: String::from("🕩"),
|
||||||
|
icon_muted: String::from("🔇"),
|
||||||
enabled: false,
|
enabled: false,
|
||||||
delay: 0.17,
|
delay: 0.17,
|
||||||
card: String::from("ALSA"),
|
card: String::from("ALSA"),
|
||||||
|
@ -60,7 +60,9 @@ pub struct Disk {
|
|||||||
}
|
}
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct Volume {
|
pub struct Volume {
|
||||||
pub icon: String,
|
pub icon_muted: String,
|
||||||
|
pub icon_high: String,
|
||||||
|
pub icon_low: String,
|
||||||
pub enabled: bool,
|
pub enabled: bool,
|
||||||
pub delay: f64,
|
pub delay: f64,
|
||||||
pub card: String,
|
pub card: String,
|
||||||
|
@ -28,6 +28,15 @@ pub async fn get_volume() -> ThreadsData {
|
|||||||
((raw_volume as f64 / range as f64) * 100.) as u64
|
((raw_volume as f64 / range as f64) * 100.) as u64
|
||||||
};
|
};
|
||||||
|
|
||||||
let data = format!(" {} {}% {}", CONFIG.volume.icon, vol, CONFIG.seperator);
|
let muted = selem
|
||||||
|
.get_playback_switch(selem_chan_id)
|
||||||
|
.expect("Failed to get playback state");
|
||||||
|
|
||||||
|
let icon = match muted {
|
||||||
|
0 => &CONFIG.volume.icon_muted,
|
||||||
|
_ => if vol < 50 { &CONFIG.volume.icon_low } else { &CONFIG.volume.icon_high }
|
||||||
|
};
|
||||||
|
|
||||||
|
let data = format!(" {} {}% {}", icon, vol, CONFIG.seperator);
|
||||||
ThreadsData::Sound(data)
|
ThreadsData::Sound(data)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user