diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-07-18 23:25:29 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-07-18 23:25:29 +0800 |
| commit | 3beb5d7ac893f7dc9dca74cde40fa8f1986f51fc (patch) | |
| tree | c09a10bfd35b68fa1edc3f8db91f853540c4dc33 /bar | |
| parent | e3e8dc9ba191f7d96e53b472740ed06f68adfd23 (diff) | |
workspace: directly fetch data instead of relying on a variable resetted every switch
if i switch too fast previously it would have a wrong state, maybe some
type of race condition?
Diffstat (limited to 'bar')
| -rw-r--r-- | bar/Workspace.qml | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/bar/Workspace.qml b/bar/Workspace.qml index 5ceb9fd..e62910e 100644 --- a/bar/Workspace.qml +++ b/bar/Workspace.qml @@ -15,7 +15,6 @@ Item { property var ws: Hyprland.workspaces property int activeIndex: -1 property bool activeOccupied: false - property bool previousActiveOccupied: false property int previousActiveIndex: -1 property real activeRectX: { @@ -130,7 +129,6 @@ Item { function moveActive() { if (!active) { previousActiveIndex = root.activeIndex; - previousActiveOccupied = root.activeOccupied; activeRect.x = parent.x; root.activeOccupied = st.isOccupied || false; activeRect.implicitWidth = Bar.workspaceIconSize; @@ -149,8 +147,7 @@ Item { activeRect.x = layout.x + previousActiveIndex * Bar.workspaceIconSize + previousActiveIndex * Bar.workspaceSpacing; activeRect.implicitWidth = Bar.workspaceActiveIconSize; root.activeOccupied = parent.st.isOccupied || false; - root.activeOccupied = previousActiveOccupied; - previousActiveOccupied = null; + root.activeOccupied = getWorkspaceStats(previousActiveIndex).isOccupied || false; previousActiveIndex = -1; } } |
