diff options
| -rw-r--r-- | modules/bar/components/StatusIcons.qml | 7 | ||||
| -rw-r--r-- | modules/bar/components/workspaces/Workspace.qml | 16 | ||||
| -rw-r--r-- | services/Bluetooth.qml | 1 | ||||
| -rw-r--r-- | widgets/Box.qml | 22 |
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 + } + } +} |