summaryrefslogtreecommitdiff
path: root/modules/bar/components
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-16 16:07:13 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-16 16:07:13 +1000
commit00b5e88a3268dce07429786419f34105d68e3d8d (patch)
tree91069d24c9ae1b27060f935eb0ff438e1445e374 /modules/bar/components
parentbar/workspaces: add special ws overlay (diff)
downloadcaelestia-shell-00b5e88a3268dce07429786419f34105d68e3d8d.tar.gz
caelestia-shell-00b5e88a3268dce07429786419f34105d68e3d8d.tar.bz2
caelestia-shell-00b5e88a3268dce07429786419f34105d68e3d8d.zip
bar/workspaces: better scroll
Diffstat (limited to 'modules/bar/components')
-rw-r--r--modules/bar/components/workspaces/SpecialWorkspaces.qml9
1 files changed, 8 insertions, 1 deletions
diff --git a/modules/bar/components/workspaces/SpecialWorkspaces.qml b/modules/bar/components/workspaces/SpecialWorkspaces.qml
index 7ed4515..fb31257 100644
--- a/modules/bar/components/workspaces/SpecialWorkspaces.qml
+++ b/modules/bar/components/workspaces/SpecialWorkspaces.qml
@@ -120,6 +120,7 @@ Item {
required property HyprlandWorkspace modelData
readonly property int size: label.Layout.preferredHeight + (hasWindows ? windows.implicitHeight + Appearance.padding.small : 0)
+ property int wsId
property string icon
property bool hasWindows
@@ -129,6 +130,7 @@ Item {
spacing: 0
Component.onCompleted: {
+ wsId = modelData.id;
icon = Icons.getSpecialWsIcon(modelData.name);
hasWindows = Config.bar.workspaces.showWindows && modelData.lastIpcObject.windows > 0;
}
@@ -137,6 +139,11 @@ Item {
Connections {
target: ws.modelData
+ function onIdChanged(): void {
+ if (ws.modelData)
+ ws.wsId = ws.modelData.id;
+ }
+
function onNameChanged(): void {
if (ws.modelData)
ws.icon = Icons.getSpecialWsIcon(ws.modelData.name);
@@ -222,7 +229,7 @@ Item {
Repeater {
model: ScriptModel {
- values: Hyprland.toplevels.values.filter(c => c.workspace?.id === ws.modelData.id)
+ values: Hyprland.toplevels.values.filter(c => c.workspace?.id === ws.wsId)
}
MaterialIcon {