compat: update battery indicator
This commit is contained in:
parent
fb9ef6cd21
commit
f611ec3c25
1 changed files with 51 additions and 31 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import Quickshell
|
||||
import Quickshell.Services.UPower
|
||||
import QtQuick
|
||||
import QtQuick.Effects
|
||||
import QtQuick.Layouts
|
||||
import qs.services
|
||||
import qs.config
|
||||
|
|
@ -84,7 +85,7 @@ Container {
|
|||
}
|
||||
}
|
||||
|
||||
MaterialIcon {
|
||||
Item {
|
||||
id: battery
|
||||
objectName: "battery"
|
||||
|
||||
|
|
@ -92,13 +93,20 @@ Container {
|
|||
Layout.leftMargin: hasBattery ? -2 : 0
|
||||
Layout.topMargin: hasBattery ? 0.5 : 2
|
||||
|
||||
implicitWidth: batteryIcon.width
|
||||
implicitHeight: batteryIcon.height
|
||||
|
||||
readonly property bool hasBattery: UPower.displayDevice.isLaptopBattery
|
||||
readonly property real percentage: UPower.displayDevice.percentage
|
||||
readonly property bool charging: !UPower.onBattery && batteryText.text !== "100"
|
||||
readonly property bool warning: UPower.onBattery && percentage < Config.services.batteryWarning + 0.01
|
||||
|
||||
MaterialIcon {
|
||||
id: batteryIcon
|
||||
anchors.centerIn: parent
|
||||
|
||||
text: {
|
||||
if (!hasBattery) {
|
||||
if (!battery.hasBattery) {
|
||||
if (PowerProfiles.profile === PowerProfile.PowerSaver)
|
||||
return "energy_savings_leaf";
|
||||
if (PowerProfiles.profile === PowerProfile.Performance)
|
||||
|
|
@ -108,31 +116,43 @@ Container {
|
|||
return `battery_android_full`;
|
||||
}
|
||||
fill: 1
|
||||
font.pointSize: hasBattery ? 18 : Config.font.size.normal
|
||||
font.pointSize: battery.hasBattery ? 18 : Config.font.size.normal
|
||||
grade: 50
|
||||
font.weight: 100
|
||||
color: !hasBattery ? Config.colors.secondary :
|
||||
warning ? Config.colors.errorBg :
|
||||
color: !battery.hasBattery ? Config.colors.secondary :
|
||||
battery.warning ? Config.colors.errorBg :
|
||||
batteryText.text === "100" ? Config.colors.battery :
|
||||
Color.mute(Config.colors.battery, 0.6, 1.5)
|
||||
|
||||
layer.enabled: true
|
||||
}
|
||||
|
||||
Item {
|
||||
id: meter
|
||||
anchors.fill: batteryIcon
|
||||
visible: false
|
||||
|
||||
CustomRect {
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.topMargin: 9
|
||||
anchors.bottomMargin: 9
|
||||
anchors.leftMargin: 3
|
||||
width: (battery.width - 7) * battery.percentage
|
||||
radius: 2
|
||||
width: battery.width * battery.percentage
|
||||
color: battery.warning ? Config.colors.batteryWarning : Config.colors.battery
|
||||
}
|
||||
}
|
||||
|
||||
MultiEffect {
|
||||
anchors.fill: batteryIcon
|
||||
|
||||
visible: battery.hasBattery
|
||||
color: battery.warning ? Config.colors.batteryWarning : Config.colors.battery
|
||||
source: meter
|
||||
maskEnabled: true
|
||||
maskSource: batteryIcon
|
||||
}
|
||||
|
||||
Row {
|
||||
anchors.centerIn: parent
|
||||
anchors.horizontalCenterOffset: battery.charging ? width / 20 : -width / 15
|
||||
anchors.horizontalCenterOffset: battery.charging ? 0 : -width / 10
|
||||
|
||||
visible: battery.hasBattery
|
||||
spacing: -1
|
||||
|
|
@ -155,7 +175,7 @@ Container {
|
|||
visible: battery.charging
|
||||
text: "bolt"
|
||||
fill: 1
|
||||
color: Config.colors.bg
|
||||
color: battery.warning ? Config.colors.batteryWarning : Config.colors.bg
|
||||
font.pointSize: 7
|
||||
font.weight: 300
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue