From 8911381cb2f30047569e2d3cc5ff30829e585e85 Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Sat, 26 Jul 2025 20:37:38 -0400 Subject: [PATCH 1/7] move --- modules/Shortcuts.qml | 2 +- {widget => widgets}/LuxShortcut.qml | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename {widget => widgets}/LuxShortcut.qml (100%) diff --git a/modules/Shortcuts.qml b/modules/Shortcuts.qml index 3085709..d965bec 100644 --- a/modules/Shortcuts.qml +++ b/modules/Shortcuts.qml @@ -1,5 +1,5 @@ +import qs.widgets import Quickshell -import "../widget/" Scope { id: root diff --git a/widget/LuxShortcut.qml b/widgets/LuxShortcut.qml similarity index 100% rename from widget/LuxShortcut.qml rename to widgets/LuxShortcut.qml From ee3c84cf049b9c2ae134d6510a72dae2138878c2 Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Sat, 26 Jul 2025 21:16:51 -0400 Subject: [PATCH 2/7] styled button --- widgets/StyledButton.qml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 widgets/StyledButton.qml diff --git a/widgets/StyledButton.qml b/widgets/StyledButton.qml new file mode 100644 index 0000000..3ac2ee6 --- /dev/null +++ b/widgets/StyledButton.qml @@ -0,0 +1,32 @@ +import qs.config +import QtQuick +import Quickshell.Widgets + +WrapperMouseArea { + id: root + required property Component content + property alias padding: rectangle.margin + property alias color: rectangle.color + property alias border: rectangle.border + property alias radius: rectangle.radius + + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + + WrapperRectangle { + id: rectangle + margin: 8 + radius: 8 + color: root.containsMouse && root.hoverEnabled ? Theme.palette.primary : Theme.palette.base100 + Behavior on color { + ColorAnimation { + duration: 200 + easing.type: Easing.InOutQuad + } + } + Loader { + active: true + sourceComponent: content + } + } +} From 827af72aac4b48f1c89327a6476f36db3ba251c1 Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Sat, 26 Jul 2025 22:40:58 -0400 Subject: [PATCH 3/7] caffeine use StyledButton --- modules/bar/components/Caffeine.qml | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/modules/bar/components/Caffeine.qml b/modules/bar/components/Caffeine.qml index 91ce0b1..19b0d0f 100644 --- a/modules/bar/components/Caffeine.qml +++ b/modules/bar/components/Caffeine.qml @@ -1,14 +1,12 @@ +import qs.config +import qs.constants +import qs.styled +import qs.widgets import Quickshell.Io -import "../../../config/" -import "../../../constants/" -import "../../../styled/" -Clickable { +StyledButton { id: clickable - implicitWidth: text.width - implicitHeight: Dimensions.caffeine.height - border.color: process.running ? Theme.palette.secondary : 'transparent' border.width: 2 @@ -21,7 +19,7 @@ Clickable { } } - StyledText { + content: StyledText { id: text font.family: Theme.lucide.font.family @@ -30,12 +28,6 @@ Clickable { text: Icons.coffee color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent - - anchors.verticalCenter: parent.verticalCenter - topPadding: Dimensions.caffeine.verticalPadding - bottomPadding: Dimensions.caffeine.verticalPadding - leftPadding: Dimensions.caffeine.horizontalPadding - rightPadding: Dimensions.caffeine.horizontalPadding } Process { From 725c0941fde7d36a6aebffaaae16b42b4b0fd75a Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Sat, 26 Jul 2025 23:09:24 -0400 Subject: [PATCH 4/7] widget impl of StyledText & StyledLabel --- widgets/StyledLabel.qml | 17 +++++++++++++++++ widgets/StyledText.qml | 7 +++++++ 2 files changed, 24 insertions(+) create mode 100644 widgets/StyledLabel.qml create mode 100644 widgets/StyledText.qml diff --git a/widgets/StyledLabel.qml b/widgets/StyledLabel.qml new file mode 100644 index 0000000..13781b9 --- /dev/null +++ b/widgets/StyledLabel.qml @@ -0,0 +1,17 @@ +import qs.config +import QtQuick +import Quickshell.Widgets + +WrapperRectangle { + id: root + required property Component content + margin: 8 + radius: 8 + color: Theme.palette.base100 + Behavior on color { + ColorAnimation { + duration: 200 + easing.type: Easing.InOutQuad + } + } +} diff --git a/widgets/StyledText.qml b/widgets/StyledText.qml new file mode 100644 index 0000000..a11a4ea --- /dev/null +++ b/widgets/StyledText.qml @@ -0,0 +1,7 @@ +import qs.config +import QtQuick + +Text { + color: Theme.palette.basecontent + font.family: Theme.fontFamily +} From e14fce488f7d2a19c0f9371881df921f6409e61f Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Sat, 26 Jul 2025 23:14:27 -0400 Subject: [PATCH 5/7] clock use widgets --- modules/bar/components/Clock.qml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/modules/bar/components/Clock.qml b/modules/bar/components/Clock.qml index 878e744..95ece49 100644 --- a/modules/bar/components/Clock.qml +++ b/modules/bar/components/Clock.qml @@ -1,18 +1,10 @@ +import qs.config +import qs.widgets import Quickshell -import "../../../styled/" -import "../../../config/" StyledLabel { - implicitWidth: childrenRect.width - implicitHeight: Dimensions.clock.height - StyledText { id: text - anchors.verticalCenter: parent.verticalCenter - topPadding: Dimensions.clock.verticalPadding - bottomPadding: Dimensions.clock.verticalPadding - leftPadding: Dimensions.clock.horizontalPadding - rightPadding: Dimensions.clock.horizontalPadding font.pixelSize: Dimensions.clock.fontSize From 5ba47e03af30b66922b8c461581cd6e33b320beb Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Sat, 26 Jul 2025 23:31:05 -0400 Subject: [PATCH 6/7] blyat --- modules/bar/components/bluetooth/DeviceList.qml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/modules/bar/components/bluetooth/DeviceList.qml b/modules/bar/components/bluetooth/DeviceList.qml index fa21d27..6508c8a 100644 --- a/modules/bar/components/bluetooth/DeviceList.qml +++ b/modules/bar/components/bluetooth/DeviceList.qml @@ -26,19 +26,14 @@ ColumnLayout { topPadding: 8 bottomPadding: 8 leftPadding: 8 - text: device.modelData.deviceName - } - StyledText { - font.family: Theme.lucide.font.family - font.pixelSize: 10 - font.bold: true - text: device.modelData.connected ? Icons.bluetoothConnected : Icons.bluetooth - - topPadding: 8 - bottomPadding: 8 rightPadding: 8 - + text: device.modelData.deviceName color: device.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent + Behavior on color { + ColorAnimation { + duration: 200 + } + } } } } From 74267a7dc49d85f30c48af92f14affb1c8ed0cc1 Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Sat, 26 Jul 2025 23:52:40 -0400 Subject: [PATCH 7/7] convert to widgets --- modules/bar/components/Cpu.qml | 42 +++++++++++++--------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/modules/bar/components/Cpu.qml b/modules/bar/components/Cpu.qml index d54638f..2156c6b 100644 --- a/modules/bar/components/Cpu.qml +++ b/modules/bar/components/Cpu.qml @@ -1,29 +1,25 @@ +import qs.config +import qs.constants +import qs.services +import qs.utils +import qs.widgets import QtQuick -import Quickshell -import "../../../config/" -import "../../../constants/" -import "../../../services/" -import "../../../styled/" -import "../../../utils/" +import QtQuick.Layouts -Clickable { +StyledButton { id: root property bool showTemp: false - implicitWidth: row.width - implicitHeight: Dimensions.cpu.height - - Ref { - service: SystemInfo - } - onClicked: { - root.showTemp = !root.showTemp; + showTemp = !showTemp; } - Row { + content: RowLayout { id: row + Ref { + service: SystemInfo + } StyledText { id: icon @@ -32,26 +28,20 @@ Clickable { font.bold: true text: Icons.cpu - anchors.verticalCenter: parent.verticalCenter - topPadding: Dimensions.cpu.verticalPadding - bottomPadding: Dimensions.cpu.verticalPadding - leftPadding: Dimensions.cpu.horizontalPadding + color: root.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent } StyledText { id: text - anchors.verticalCenter: parent.verticalCenter - topPadding: Dimensions.cpu.verticalPadding - bottomPadding: Dimensions.cpu.verticalPadding - rightPadding: Dimensions.cpu.horizontalPadding font.pixelSize: Dimensions.cpu.fontSize - text: ` ${(SystemInfo.cpuPerc * 100).toFixed()}%` + color: root.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent + states: [ State { - name: "temp" + name: "showTemp" when: root.showTemp PropertyChanges { text {