pragma Singleton import Quickshell import Quickshell.Services.UPower import ZShell.Config import qs.Services Singleton { id: root readonly property var colors: { if (deviceState === UPowerDeviceState.Charging || deviceState === UPowerDeviceState.FullyCharged) return { fg: Colors.swapRG(Colors.palette.m3error), bg: Colors.swapRG(Colors.palette.m3onError) }; else if (currentPerc <= 0.2) return { fg: Colors.palette.m3error, bg: Colors.palette.m3onError }; else return { fg: Colors.palette.m3onSurface, bg: Colors.palette.m3surface }; } readonly property real currentPerc: UPower.displayDevice.percentage readonly property var deviceState: UPower.displayDevice.state readonly property bool isLaptop: UPower.displayDevice.isLaptopBattery readonly property bool onBattery: UPower.onBattery readonly property bool ready: UPower.displayDevice.ready readonly property real timeToEmpty: UPower.displayDevice.timeToEmpty readonly property real timeToFull: UPower.displayDevice.timeToFull }