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>) {
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_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 icon = if battery_percentage > 90.0 {
// Tailwind green 500
@ -43,6 +43,7 @@ impl Block for BatteryBlock {
fg_color = Color::Rgb(239, 68, 68);
"\u{f244}"
};
let formatted = format!(
" {}{:.1}% {}:{:02} ",
icon, battery_percentage, battery_rem_hours, battery_rem_mins
@ -50,7 +51,7 @@ impl Block for BatteryBlock {
let update =
BlockUpdate::Single(BlockInfo::from_main(formatted).fg_color(fg_color).build());
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