diff options
| author | Arnaud <arnaudma.code@gmail.com> | 2025-08-13 09:45:34 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-13 08:45:34 +0100 |
| commit | aa6a78f0a4e17c49ed4aff8b58c3f7ec7ef0408f (patch) | |
| tree | 0467f52be27e283a489edff09009a78a7fbecb03 /src/Compositor.cpp | |
| parent | 2b6e2ceb2e66407e80b98015eb9f559f06405b2f (diff) | |
internal: Ensure unique identifiers for persistent workspaces (#11409)
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 4d0a917b..3b8fb0a5 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1727,6 +1727,14 @@ WORKSPACEID CCompositor::getNextAvailableNamedWorkspace() { lowest = w->m_id; } + // Give priority to persistent workspaces to avoid any conflicts between them. + for (auto const& rule : g_pConfigManager->getAllWorkspaceRules()) { + if (!rule.isPersistent) + continue; + if (rule.workspaceId < -1 && rule.workspaceId < lowest) + lowest = rule.workspaceId; + } + return lowest - 1; } |
