bar/modules/Battery.qml (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
//Battery.qml
import QtQuick
import Quickshell
import QtQuick.Layouts
import Quickshell.Services.UPower
import "../.."
import "../classes" as Class
Repeater {
model: UPower.devices.values.filter(d=>d.model)
Class.RightRowLayout {
property var lvl: Math.round(modelData.percentage*100)
property var charge_state: UPowerDeviceState.toString(modelData.state)
Class.BottombarText {
id: battery_level_indicator
text: lvl+"%"
font.family: font_jetbrains.name
color:
(charge_state == "Charging")
? Resources.palette.saffron
: (lvl < 20)
? Resources.palette.scarlet
: Resources.palette.fg
}
Class.BottombarIcon {
id: battery_device_icon
text: modelData.isLaptopBattery
? Icons.devices.battery
: {
"Jupiter of the Monkey": Icons.devices.headphones,
"Pro Controller": Icons.devices.controller,
"mix4": Icons.devices.mewi,
}[modelData.model] ?? modelData.model
font.pixelSize: (modelData.model == "Pro Controller") ? 14 : 10
color:
lvl < 20
? Resources.palette.scarlet
: {
"Charging": Resources.palette.saffron,
"Discharging": Resources.palette.orange,
"FullyCharged": Resources.palette.cyan,
"Empty": Resources.palette.scarlet,
}[charge_state] ?? Resources.palette.orange
}
Class.BotSep{}
}
}
|