Watch
1
0
Fork
You've already forked Zoe-Dotfiles
0
mirror of synced 2026-11-03 19:07:18 +00:00
Zoe-Dotfiles/quickshell/modules/bar/Battery.qml
2026-08-29 21:21:08 +02:00

43 lines
1.3 KiB
QML

import Quickshell.Services.UPower
import QtQuick
import qs
Rectangle {
id: root
clip: true
color: Appearance.colAppBg
visible: UPower.displayDevice.isPresent
property var batCharMin: (UPower.displayDevice.timeToFull / 60).toFixed(2)
property var batDisMin: (UPower.displayDevice.timeToEmpty / 60).toFixed(2)
property var batTime: 0
implicitHeight: Appearance.appletRadHeight
implicitWidth: batText.implicitWidth + 25
radius: Appearance.appletRadHeight
function getBatStat() {
if (UPower.displayDevice.state == UPowerDeviceState.Discharging) {
batTime = Math.floor(batDisMin / 60) + "h " + ((batDisMin - (Math.floor(batDisMin / 60) * 60)).toFixed(0)) + "min"
return batTime;
}
if (UPower.displayDevice.state == UPowerDeviceState.Charging) {
batTime = Math.floor(batCharMin / 60) + "h " + ((batCharMin - (Math.floor(batCharMin / 60) * 60)).toFixed(0)) + "min"
return batTime;
}
if (UPower.displayDevice.state == UPowerDeviceState.FullyCharged) {
return "Full";
}
}
function batStatProc() {
return Math.round(UPower.displayDevice.percentage * 100) + "%";
}
Text {
id: batText
anchors.centerIn: parent
text: batStatProc() + " - " + getBatStat()
font.family: Appearance.font
font.pixelSize: Appearance.fontSize
font.bold: true
color: Appearance.colFg
}
}