From d46d7ddc8ad058ada58fe8031f7984da6e5c8673 Mon Sep 17 00:00:00 2001 From: lucy Date: Wed, 31 Dec 2025 16:13:18 +0100 Subject: [PATCH] use material icons instead of svgs in battery widget --- modules/bar/Battery.qml | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/modules/bar/Battery.qml b/modules/bar/Battery.qml index 96761a4..43781e6 100644 --- a/modules/bar/Battery.qml +++ b/modules/bar/Battery.qml @@ -27,32 +27,37 @@ Rectangle { color: Colors.foreground } Icons { + property bool isCharging: UPower.displayDevice.state === UPowerDeviceState.Charging function getBatteryIcon() { - if (UPower.displayDevice.percentage < 12) { - return "battery_android_0"; + if (isCharging) { + return "battery_android_frame_bolt"; } - if (UPower.displayDevice.percentage < 24) { - return "battery_android_1"; + if (UPower.displayDevice.percentage < 0.12) { + return "battery_android_frame_0"; } - if (UPower.displayDevice.percentage < 36) { - return "battery_android_2"; + if (UPower.displayDevice.percentage < 0.24) { + return "battery_android_frame_1"; } - if (UPower.displayDevice.percentage < 48) { - return "battery_android_3"; + if (UPower.displayDevice.percentage < 0.36) { + return "battery_android_frame_2"; } - if (UPower.displayDevice.percentage < 60) { - return "battery_android_4"; + if (UPower.displayDevice.percentage < 0.48) { + return "battery_android_frame_3"; } - if (UPower.displayDevice.percentage < 72) { - return "battery_android_5"; + if (UPower.displayDevice.percentage < 0.60) { + return "battery_android_frame_4"; } - if (UPower.displayDevice.percentage < 84) { - return "battery_android_6"; + if (UPower.displayDevice.percentage < 0.72) { + return "battery_android_frame_5"; } - if (UPower.displayDevice.percentage > 84) { + if (UPower.displayDevice.percentage < 0.84) { + return "battery_android_frame_6"; + } + if (UPower.displayDevice.percentage > 0.84) { return "battery_android_full"; } } + text: getBatteryIcon() } } Text { @@ -66,6 +71,7 @@ Rectangle { opacity: 0.7 color: Colors.foreground text: isCharging ? timeToFull.toFixed(1) + "h to full" : timeToEmpty.toFixed(1) + "h left" + onTextChanged: console.log(UPower.displayDevice.percentage) } } }