From 5fd52e99d39bdb3564a1f18921e8b7c54d2692bd Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Thu, 7 Nov 2019 12:51:28 -0800 Subject: [PATCH] power: Handle "100% but charging" case I've observed that UPower can occasionally report a charge level of 100% while the state is still "charging". This usually doesn't last very long but it is noticeable because the power icon changes to a "missing icon" icon. This will handle that rare case correctly. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/814 --- js/ui/status/power.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/js/ui/status/power.js b/js/ui/status/power.js index 449f15917..76343d244 100644 --- a/js/ui/status/power.js +++ b/js/ui/status/power.js @@ -112,9 +112,12 @@ class Indicator extends PanelMenu.SystemIndicator { let chargingState = this._proxy.State == UPower.DeviceState.CHARGING ? '-charging' : ''; let fillLevel = 10 * Math.floor(this._proxy.Percentage / 10); - let icon = this._proxy.State == UPower.DeviceState.FULLY_CHARGED - ? 'battery-level-100-charged-symbolic' - : `battery-level-${fillLevel}${chargingState}-symbolic`; + let icon; + if (this._proxy.State == UPower.DeviceState.FULLY_CHARGED || + fillLevel === 100) + icon = 'battery-level-100-charged-symbolic'; + else + icon = `battery-level-${fillLevel}${chargingState}-symbolic`; // Make sure we fall back to fallback-icon-name and not GThemedIcon's // default fallbacks