diff --git a/src/modules/bar.tsx b/src/modules/bar.tsx index 2645fdee..ad11f439 100644 --- a/src/modules/bar.tsx +++ b/src/modules/bar.tsx @@ -468,20 +468,35 @@ const NotifCount = () => ( ); -const Battery = () => ( - `module battery ${p < 0.2 ? "low" : ""}`)} - setup={self => - setupCustomTooltip( - self, - bind(AstalBattery.get_default(), "timeToEmpty").as(p => `${formatSeconds(p)} remaining`) - ) - } - > - -); +const Battery = () => { + const className = Variable.derive( + [bind(AstalBattery.get_default(), "percentage"), bind(AstalBattery.get_default(), "charging")], + (p, c) => `module battery ${p < 0.2 && !c ? "low" : ""}` + ); + + return ( + + setupCustomTooltip( + self, + bind(AstalBattery.get_default(), "timeToEmpty").as(p => `${formatSeconds(p)} remaining`) + ) + } + onDestroy={() => className.drop()} + > + + + + ); +}; const DateTime = () => (