From 0441c67b1056cd1033b2d7fdbf139b47408edd1a Mon Sep 17 00:00:00 2001 From: William Fish Date: Mon, 29 Jun 2026 21:58:04 +0100 Subject: [PATCH] fix(battery): show plug icon without battery (#1432) --- cosmic-applet-battery/src/app.rs | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/cosmic-applet-battery/src/app.rs b/cosmic-applet-battery/src/app.rs index 9233a33f..c210d51a 100644 --- a/cosmic-applet-battery/src/app.rs +++ b/cosmic-applet-battery/src/app.rs @@ -40,7 +40,7 @@ use cosmic_settings_upower_subscription::{ }; use rustc_hash::FxHashMap; -use std::{path::PathBuf, sync::LazyLock, time::Duration}; +use std::{path::PathBuf, time::Duration}; use tokio::sync::mpsc::UnboundedSender; // XXX improve @@ -169,6 +169,20 @@ impl CosmicBatteryApplet { self.charging_limit = Some(limit); self.update_battery(self.battery_percent, self.on_battery); } + + fn panel_icon_name(&self) -> &str { + if self.no_battery { + if self.screen_brightness.is_some() { + self.display_icon_name.as_str() + } else if self.kbd_brightness.is_some() { + "keyboard-brightness-symbolic" + } else { + "plugged-into-power-symbolic" + } + } else { + self.icon_name.as_str() + } + } } #[derive(Debug, Clone)] @@ -521,19 +535,9 @@ impl cosmic::Application for CosmicBatteryApplet { let applet_padding = self.core.applet.suggested_padding(true); let mut children = vec![ - icon::from_name(if self.no_battery { - if self.screen_brightness.is_some() { - self.display_icon_name.as_str() - } else if self.kbd_brightness.is_some() { - "keyboard-brightness-symbolic" - } else { - self.icon_name.as_str() - } - } else { - self.icon_name.as_str() - }) - .size(suggested_size.0) - .into(), + icon::from_name(self.panel_icon_name()) + .size(suggested_size.0) + .into(), ]; if self.config.show_percentage && !self.no_battery {