diff --git a/src/blocks/battery.rs b/src/blocks/battery.rs index f9d1840..c7f4f7d 100644 --- a/src/blocks/battery.rs +++ b/src/blocks/battery.rs @@ -22,11 +22,11 @@ impl Block for BatteryBlock { fn run(&mut self, _event_r: flume::Receiver, update_s: flume::Sender) { 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)); } } }