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:
parent
74d0f34cf3
commit
16aeb24bc1
5 changed files with 56 additions and 0 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -169,6 +169,7 @@ class CConfigManager {
|
|||
|
||||
std::vector<SP<CWindowRule>> getMatchingRules(PHLWINDOW, bool dynamic = true, bool shadowExec = false);
|
||||
std::vector<SP<CLayerRule>> getMatchingRules(PHLLS);
|
||||
void ensurePersistentWorkspacesPresent();
|
||||
|
||||
const std::vector<SConfigOptionDescription>& getAllDescriptions();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue