Compare commits

...

3 Commits

Author SHA1 Message Date
87a657fe81 Cargo.lock update 2022-01-30 22:25:29 +01:00
99f6830083 volume icon dependend on loudness/mute 2022-01-30 22:25:16 +01:00
840f2ff5fd better layout 2022-01-30 22:24:52 +01:00
6 changed files with 23 additions and 8 deletions

2
Cargo.lock generated
View File

@ -914,7 +914,7 @@ dependencies = [
[[package]] [[package]]
name = "rsblocks" name = "rsblocks"
version = "0.1.19" version = "0.1.20"
dependencies = [ dependencies = [
"alsa", "alsa",
"async-std", "async-std",

View File

@ -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"),

View File

@ -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,

View File

@ -12,7 +12,7 @@ pub async fn get_cpu_temp() -> ThreadsData {
let value = buf.trim().parse::<f32>().unwrap(); let value = buf.trim().parse::<f32>().unwrap();
let result = format!( let result = format!(
" {} {}° {}", " {} {: <3.1}° {}",
CONFIG.cpu_temperature.icon, CONFIG.cpu_temperature.icon,
value / 1000.0, value / 1000.0,
CONFIG.seperator CONFIG.seperator

View File

@ -36,7 +36,7 @@ fn parse_speed_file(pth: &str) -> u64 {
} }
fn calculate(speed: u64) -> String { fn calculate(speed: u64) -> String {
let lookup = ["B", "kB", "MB"]; let lookup = ["b", "kb", "Mb"];
let mut speed = speed as f64; let mut speed = speed as f64;
let mut idx = 0; let mut idx = 0;
while speed >= 1024.0 && idx < lookup.len() { while speed >= 1024.0 && idx < lookup.len() {

View File

@ -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)
} }