Update battery values correctly

master
Rasmus Rosengren 3 years ago
parent e14841ff2a
commit 0bf0d80696
Signed by: rsrp
GPG Key ID: A13BC7BC4F81CF5F
  1. 9
      src/blocks/battery.rs

@ -22,11 +22,11 @@ impl Block for BatteryBlock {
fn run(&mut self, _event_r: flume::Receiver<BlockEvent>, update_s: flume::Sender<BlockUpdate>) { fn run(&mut self, _event_r: flume::Receiver<BlockEvent>, update_s: flume::Sender<BlockUpdate>) {
let sys = systemstat::System::new(); let sys = systemstat::System::new();
if let Ok(battery) = sys.battery_life() { loop {
loop { if let Ok(battery) = sys.battery_life() {
let battery_percentage = 100.0 * battery.remaining_capacity; let battery_percentage = 100.0 * battery.remaining_capacity;
let battery_rem_hours = battery.remaining_time.as_secs() / 3600; let battery_rem_hours = battery.remaining_time.as_secs() / 3600;
let battery_rem_mins = battery.remaining_time.as_secs() % 60; let battery_rem_mins = (battery.remaining_time.as_secs() / 60) % 60;
let mut fg_color = Color::Default; let mut fg_color = Color::Default;
let icon = if battery_percentage > 90.0 { let icon = if battery_percentage > 90.0 {
// Tailwind green 500 // Tailwind green 500
@ -43,6 +43,7 @@ impl Block for BatteryBlock {
fg_color = Color::Rgb(239, 68, 68); fg_color = Color::Rgb(239, 68, 68);
"\u{f244}" "\u{f244}"
}; };
let formatted = format!( let formatted = format!(
" {}{:.1}% {}:{:02} ", " {}{:.1}% {}:{:02} ",
icon, battery_percentage, battery_rem_hours, battery_rem_mins icon, battery_percentage, battery_rem_hours, battery_rem_mins
@ -50,7 +51,7 @@ impl Block for BatteryBlock {
let update = let update =
BlockUpdate::Single(BlockInfo::from_main(formatted).fg_color(fg_color).build()); BlockUpdate::Single(BlockInfo::from_main(formatted).fg_color(fg_color).build());
update_s.send(update).unwrap(); update_s.send(update).unwrap();
std::thread::sleep(std::time::Duration::from_millis(1000)); std::thread::sleep(std::time::Duration::from_millis(5000));
} }
} }
} }

Loading…
Cancel
Save