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
This commit is contained in:
Vaxry
2025-01-26 14:40:42 +00:00
parent 74d0f34cf3
commit 16aeb24bc1
5 changed files with 56 additions and 0 deletions

View File

@@ -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);
}