From 320870df0b3f5e2cfd71a6c3ba3dacf61fb7c348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Fri, 25 Jul 2025 17:35:03 -0400 Subject: [PATCH] Workspace: show occupied workspaces with a different color --- Bar/Modules/Workspace.qml | 11 ++++++++--- Services/Niri.qml | 4 ++-- Services/WorkspaceManager.qml | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Bar/Modules/Workspace.qml b/Bar/Modules/Workspace.qml index e537118..b1c7ccb 100644 --- a/Bar/Modules/Workspace.qml +++ b/Bar/Modules/Workspace.qml @@ -168,11 +168,16 @@ Item { color: { if (model.isFocused) return Theme.accentPrimary; - if (model.isActive) - return Theme.accentPrimary.lighter(130); if (model.isUrgent) return Theme.error; - return Qt.lighter(Theme.surfaceVariant, 1.6); + if (model.isActive) + return Theme.accentSecondary; + if (model.isOccupied) + return Theme.accentSecondary; + if (model.isUrgent) + return Theme.error; + + return Theme.surfaceVariant.lighter(1.5); } scale: model.isFocused ? 1.0 : 0.9 z: 0 diff --git a/Services/Niri.qml b/Services/Niri.qml index a8f551a..fd003cb 100644 --- a/Services/Niri.qml +++ b/Services/Niri.qml @@ -49,10 +49,10 @@ Singleton { isFocused: ws.is_focused === true, isActive: ws.is_active === true, isUrgent: ws.is_urgent === true, - activeWindowId: ws.active_window_id + isOccupied: ws.active_window_id ? true : false }); } - + workspacesList.sort((a, b) => { if (a.output !== b.output) { return a.output.localeCompare(b.output); diff --git a/Services/WorkspaceManager.qml b/Services/WorkspaceManager.qml index f2f7bcb..b5dc29c 100644 --- a/Services/WorkspaceManager.qml +++ b/Services/WorkspaceManager.qml @@ -124,7 +124,8 @@ Singleton { output: ws.output || "", isFocused: ws.isFocused === true, isActive: ws.isActive === true, - isUrgent: ws.isUrgent === true + isUrgent: ws.isUrgent === true, + isOccupied: ws.isOccupied === true, }); }