From 8c2a2dac34afd2034c6809b9445a0636f209bc9d Mon Sep 17 00:00:00 2001 From: Zacharias-Brohn Date: Wed, 11 Feb 2026 15:51:30 +0100 Subject: [PATCH] battery-wid --- Clock.qml | 13 ------------- Config/BarConfig.qml | 4 ++++ Helpers/UPower.qml | 13 +++++++++++++ Modules/Bar/BarLoader.qml | 7 +++++++ Modules/UPower/UPowerWidget.qml | 26 ++++++++++++++++++++++++++ scripts/install-bin.sh | 8 ++++++++ 6 files changed, 58 insertions(+), 13 deletions(-) delete mode 100644 Clock.qml create mode 100644 Helpers/UPower.qml create mode 100644 Modules/UPower/UPowerWidget.qml create mode 100644 scripts/install-bin.sh diff --git a/Clock.qml b/Clock.qml deleted file mode 100644 index 5fc1a19..0000000 --- a/Clock.qml +++ /dev/null @@ -1,13 +0,0 @@ -import QtQuick -import qs.Config -import qs.Modules -import qs.Components - -CustomText { - text: Time.time - color: Config.useDynamicColors ? DynamicColors.palette.m3tertiary : "white" - - Behavior on color { - CAnim {} - } -} diff --git a/Config/BarConfig.qml b/Config/BarConfig.qml index df6afb1..7d83ff2 100644 --- a/Config/BarConfig.qml +++ b/Config/BarConfig.qml @@ -36,6 +36,10 @@ JsonObject { id: "tray", enabled: true }, + { + id: "upower", + enabled: false + }, { id: "clock", enabled: true diff --git a/Helpers/UPower.qml b/Helpers/UPower.qml new file mode 100644 index 0000000..ed9f1ad --- /dev/null +++ b/Helpers/UPower.qml @@ -0,0 +1,13 @@ +pragma Singleton + +import Quickshell +import Quickshell.Services.UPower + + +Singleton { + id: root + + readonly property list devices: UPower.devices.values + readonly property bool onBattery: UPower.onBattery + readonly property UPowerDevice displayDevice: UPower.displayDevice +} diff --git a/Modules/Bar/BarLoader.qml b/Modules/Bar/BarLoader.qml index c36f75e..3d9584d 100644 --- a/Modules/Bar/BarLoader.qml +++ b/Modules/Bar/BarLoader.qml @@ -9,6 +9,7 @@ import qs.Config import qs.Helpers import qs.Daemons import qs.Modules.Polkit +import qs.Modules.UPower RowLayout { id: root @@ -160,6 +161,12 @@ RowLayout { } } } + DelegateChoice { + roleValue: "upower" + delegate: WrappedLoader { + sourceComponent: UPowerWidget {} + } + } } } diff --git a/Modules/UPower/UPowerWidget.qml b/Modules/UPower/UPowerWidget.qml new file mode 100644 index 0000000..2abfb76 --- /dev/null +++ b/Modules/UPower/UPowerWidget.qml @@ -0,0 +1,26 @@ +import Quickshell +import QtQuick +import qs.Components +import qs.Config +import qs.Helpers +import qs.Modules + +Item { + id: root + + implicitWidth: 100 + anchors.top: parent.top + anchors.bottom: parent.bottom + + function findDevice() { + for ( let i = 0; i < UPower.devices.count; i++ ) { + if ( UPower.devices[i].isLaptopBattery ) { + return UPower.devices[i]; + } + } + } + + CustomText { + text: findDevice().percentage + } +} diff --git a/scripts/install-bin.sh b/scripts/install-bin.sh new file mode 100644 index 0000000..329f5d0 --- /dev/null +++ b/scripts/install-bin.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + + +main() { + if [[ ]] +} + +main "$@"