From fb9ef6cd2188512d6972f77f9885a115dd79e898 Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Fri, 30 Jan 2026 14:16:30 -0500 Subject: [PATCH 1/2] chore: bump inputs --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index bb37496..d466bd0 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1759386674, - "narHash": "sha256-wg1Lz/1FC5Q13R+mM5a2oTV9TA9L/CHHTm3/PiLayfA=", + "lastModified": 1769740369, + "narHash": "sha256-xKPyJoMoXfXpDM5DFDZDsi9PHArf2k5BJjvReYXoFpM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "625ad6366178f03acd79f9e3822606dd7985b657", + "rev": "6308c3b21396534d8aaeac46179c14c439a89b8a", "type": "github" }, "original": { @@ -23,11 +23,11 @@ ] }, "locked": { - "lastModified": 1759610621, - "narHash": "sha256-P3UPFd95mS/3aNgy40nCXAmyfR2bEEBd+tX6xfkYFb0=", - "rev": "c5c438f1cd1a76660a8658ef929a3d19e968e2ce", + "lastModified": 1769593411, + "narHash": "sha256-WW00FaBiUmQyxvSbefvgxIjwf/WmRrEGBbwMHvW/7uQ=", + "rev": "1e4d804e7f3fa7465811030e8da2bf10d544426a", "type": "tarball", - "url": "https://git.outfoxxed.me/api/v1/repos/quickshell/quickshell/archive/c5c438f1cd1a76660a8658ef929a3d19e968e2ce.tar.gz" + "url": "https://git.outfoxxed.me/api/v1/repos/quickshell/quickshell/archive/1e4d804e7f3fa7465811030e8da2bf10d544426a.tar.gz" }, "original": { "type": "tarball", From 20ac6d0315a68a264747f1fbb0718b4e8d44c5e2 Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Fri, 30 Jan 2026 14:16:42 -0500 Subject: [PATCH 2/2] compat: update battery display to work with new version --- modules/bar/modules/StatusIcons.qml | 84 ++++++++++++++++++----------- 1 file changed, 52 insertions(+), 32 deletions(-) diff --git a/modules/bar/modules/StatusIcons.qml b/modules/bar/modules/StatusIcons.qml index f5bff04..8041009 100644 --- a/modules/bar/modules/StatusIcons.qml +++ b/modules/bar/modules/StatusIcons.qml @@ -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,47 +93,66 @@ 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 real percentage: 0.5 // Power.displayDevice.percentage readonly property bool charging: !UPower.onBattery && batteryText.text !== "100" readonly property bool warning: UPower.onBattery && percentage < Config.services.batteryWarning + 0.01 - text: { - if (!hasBattery) { - if (PowerProfiles.profile === PowerProfile.PowerSaver) - return "energy_savings_leaf"; - if (PowerProfiles.profile === PowerProfile.Performance) - return "rocket_launch"; - return "balance"; - } - return `battery_android_full`; - } - fill: 1 - font.pointSize: hasBattery ? 18 : Config.font.size.normal - grade: 50 - font.weight: 100 - color: !hasBattery ? Config.colors.secondary : - warning ? Config.colors.errorBg : - batteryText.text === "100" ? Config.colors.battery : - Color.mute(Config.colors.battery, 0.6, 1.5) + MaterialIcon { + id: batteryIcon + anchors.centerIn: parent - 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 + text: { + if (!battery.hasBattery) { + if (PowerProfiles.profile === PowerProfile.PowerSaver) + return "energy_savings_leaf"; + if (PowerProfiles.profile === PowerProfile.Performance) + return "rocket_launch"; + return "balance"; + } + return `battery_android_full`; + } + fill: 1 + font.pointSize: battery.hasBattery ? 18 : Config.font.size.normal + grade: 50 + font.weight: 100 + 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 + 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 }