diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-04-28 20:07:38 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-04-28 20:07:38 +1000 |
| commit | 0b48cc5ff6e5d045177d82ff9505c1ccc31d5487 (patch) | |
| tree | 5488904e6b2524d5b33d34162a5395f9619fec28 /modules/bar/workspaces/Workspaces.qml | |
| parent | bar: workspaces different styles for occupied (diff) | |
| download | caelestia-shell-0b48cc5ff6e5d045177d82ff9505c1ccc31d5487.tar.gz caelestia-shell-0b48cc5ff6e5d045177d82ff9505c1ccc31d5487.tar.bz2 caelestia-shell-0b48cc5ff6e5d045177d82ff9505c1ccc31d5487.zip | |
refactor: bar workspaces move workspace into file
Diffstat (limited to 'modules/bar/workspaces/Workspaces.qml')
| -rw-r--r-- | modules/bar/workspaces/Workspaces.qml | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/modules/bar/workspaces/Workspaces.qml b/modules/bar/workspaces/Workspaces.qml index 203ef91..62f22d7 100644 --- a/modules/bar/workspaces/Workspaces.qml +++ b/modules/bar/workspaces/Workspaces.qml @@ -12,7 +12,15 @@ Item { property alias vertical: layout.vertical readonly property color colour: Appearance.colours.mauve + property int shown: 10 + property bool occupiedBg: false + property bool showWindows: false + readonly property list<Label> workspaces: layout.children.filter(c => c.isWorkspace) + readonly property var occupied: Hyprland.workspaces.values.reduce((acc, curr) => { + acc[curr.id] = curr.lastIpcObject.windows > 0; + return acc; + }, {}) implicitWidth: layout.implicitWidth implicitHeight: layout.implicitHeight @@ -28,26 +36,18 @@ Item { Repeater { model: BarConfig.workspaces.shown - Label { - required property int index - readonly property bool isWorkspace: true - - text: index + 1 - color: BarConfig.workspaces.occupiedBg || occupied.occupied[index + 1] ? Appearance.colours.text : Appearance.colours.subtext0 - horizontalAlignment: Label.AlignHCenter - - Layout.preferredWidth: layout.homogenous && !layout.vertical ? layout.height : -1 - Layout.preferredHeight: layout.homogenous && layout.vertical ? layout.width : -1 + Workspace { + layout: layout + occupied: root.occupied } } } OccupiedBg { - id: occupied - opacity: BarConfig.workspaces.occupiedBg ? 1 : 0 vertical: root.vertical workspaces: root.workspaces + occupied: root.occupied layout: layout Behavior on opacity { |