summaryrefslogtreecommitdiff
path: root/bar
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-07-18 23:25:29 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-07-18 23:25:29 +0800
commit3beb5d7ac893f7dc9dca74cde40fa8f1986f51fc (patch)
treec09a10bfd35b68fa1edc3f8db91f853540c4dc33 /bar
parente3e8dc9ba191f7d96e53b472740ed06f68adfd23 (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.qml5
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;
}
}