36 lines
1.0 KiB
QML
36 lines
1.0 KiB
QML
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
|
|
}
|