From 7c34ef5aa0de96af05ee7d84d8b356a29f978fb2 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Thu, 15 May 2025 22:07:15 +0300 Subject: [PATCH] engine: try to handle systems with multiple batteries --- src/battery.rs | 2 +- src/engine.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/battery.rs b/src/battery.rs index 4eb9ebb..2f7c43a 100644 --- a/src/battery.rs +++ b/src/battery.rs @@ -73,7 +73,7 @@ pub struct SupportedBattery { pub fn set_battery_charge_thresholds(start_threshold: u8, stop_threshold: u8) -> Result<()> { // Validate thresholds using `BatteryChargeThresholds` let thresholds = BatteryChargeThresholds::new(start_threshold, stop_threshold) - .map_err(|e| ControlError::InvalidValueError(e))?; + .map_err(ControlError::InvalidValueError)?; let power_supply_path = Path::new("/sys/class/power_supply"); if !power_supply_path.exists() { diff --git a/src/engine.rs b/src/engine.rs index afa4aba..fa50124 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -78,8 +78,8 @@ pub fn determine_and_apply_settings( // No batteries means desktop/server, always on AC true } else { - // At least one battery exists, check if it's on AC - report.batteries.first().is_some_and(|b| b.ac_connected) + // Check if any battery reports AC connected + report.batteries.iter().any(|b| b.ac_connected) }; if on_ac_power {