summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/bar/components/StatusIcons.qml7
-rw-r--r--modules/bar/components/workspaces/Workspace.qml16
-rw-r--r--services/Bluetooth.qml1
-rw-r--r--widgets/Box.qml22
4 files changed, 28 insertions, 18 deletions
diff --git a/modules/bar/components/StatusIcons.qml b/modules/bar/components/StatusIcons.qml
index de1c02d..1b0ee90 100644
--- a/modules/bar/components/StatusIcons.qml
+++ b/modules/bar/components/StatusIcons.qml
@@ -2,6 +2,7 @@ import "root:/widgets"
import "root:/services"
import "root:/utils"
import "root:/config"
+import Quickshell
import QtQuick
import QtQuick.Controls
@@ -33,7 +34,7 @@ StyledRect {
font.pointSize: Appearance.font.size.larger
}
- BoxLayout {
+ Box {
anchors.left: vertical ? undefined : bluetooth.right
anchors.leftMargin: vertical ? 0 : Appearance.padding.smaller
anchors.top: vertical ? bluetooth.bottom : undefined
@@ -43,7 +44,9 @@ StyledRect {
anchors.verticalCenter: vertical ? undefined : bluetooth.verticalCenter
Repeater {
- model: Bluetooth.connected
+ model: ScriptModel {
+ values: Bluetooth.devices.filter(d => d.connected)
+ }
MaterialIcon {
required property Bluetooth.Device modelData
diff --git a/modules/bar/components/workspaces/Workspace.qml b/modules/bar/components/workspaces/Workspace.qml
index 9ba82a3..2ca384e 100644
--- a/modules/bar/components/workspaces/Workspace.qml
+++ b/modules/bar/components/workspaces/Workspace.qml
@@ -41,26 +41,12 @@ Item {
height: BarConfig.sizes.innerHeight
}
- Grid {
- flow: root.vertical ? GridLayout.TopToBottom : GridLayout.LeftToRight
- rows: root.vertical ? -1 : 1
- columns: root.vertical ? 1 : -1
- spacing: Appearance.padding.small
-
+ Box {
anchors.left: vertical ? undefined : indicator.right
anchors.top: vertical ? indicator.bottom : undefined
anchors.verticalCenter: vertical ? undefined : indicator.verticalCenter
anchors.horizontalCenter: vertical ? indicator.horizontalCenter : undefined
- add: Transition {
- Anim {
- properties: "scale"
- from: 0
- to: 1
- duration: Appearance.anim.durations.small
- }
- }
-
Repeater {
model: ScriptModel {
values: Hyprland.clients.filter(c => c.workspace.id === root.ws)
diff --git a/services/Bluetooth.qml b/services/Bluetooth.qml
index bff44bd..7cdd457 100644
--- a/services/Bluetooth.qml
+++ b/services/Bluetooth.qml
@@ -10,7 +10,6 @@ Singleton {
property bool powered
property bool discovering
property list<Device> devices: []
- readonly property list<Device> connected: devices.filter(d => d.connected)
Process {
running: true
diff --git a/widgets/Box.qml b/widgets/Box.qml
new file mode 100644
index 0000000..c1ee51d
--- /dev/null
+++ b/widgets/Box.qml
@@ -0,0 +1,22 @@
+import "root:/config"
+import QtQuick
+
+Grid {
+ property bool vertical: parent.vertical ?? false // Propagate from parent
+
+ flow: vertical ? Grid.TopToBottom : Grid.LeftToRight
+ rows: vertical ? -1 : 1
+ columns: vertical ? 1 : -1
+ spacing: Appearance.spacing.small
+
+ add: Transition {
+ NumberAnimation {
+ properties: "scale"
+ from: 0
+ to: 1
+ duration: Appearance.anim.durations.normal
+ easing.type: Easing.BezierSpline
+ easing.bezierCurve: Appearance.anim.curves.standardDecel
+ }
+ }
+}