summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-01-26 14:40:42 +0000
committerVaxry <vaxry@vaxry.net>2025-01-26 14:40:42 +0000
commit16aeb24bc1395b46d675ec3522ed452e487f5b69 (patch)
treef9f8b11cc68a80bbccfaaee22dfb529e1d80f1aa /src/config/ConfigManager.cpp
parent74d0f34cf396f4fc41ee98b000e7d0a4e277c066 (diff)
core: make persistent workspaces always follow the config
instead of just staying after open, they will now be enforced on their respective monitors fixes #8769
Diffstat (limited to 'src/config/ConfigManager.cpp')
-rw-r--r--src/config/ConfigManager.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp
index fd4783da..93289bf7 100644
--- a/src/config/ConfigManager.cpp
+++ b/src/config/ConfigManager.cpp
@@ -1034,6 +1034,10 @@ void CConfigManager::postConfigReload(const Hyprlang::CParseResult& result) {
// update plugins
handlePluginLoads();
+ // update persistent workspaces
+ if (!isFirstLaunch)
+ ensurePersistentWorkspacesPresent();
+
EMIT_HOOK_EVENT("configReloaded", nullptr);
if (g_pEventManager)
g_pEventManager->postEvent(SHyprIPCEvent{"configreloaded", ""});
@@ -2830,3 +2834,7 @@ std::string SConfigOptionDescription::jsonify() const {
return json;
}
+
+void CConfigManager::ensurePersistentWorkspacesPresent() {
+ g_pCompositor->ensurePersistentWorkspacesPresent(m_vWorkspaceRules);
+}