Merge pull request #3947 from zjeffer/fix/zjeffer/workspacerules-defaultname

Fix workspacerules not taking into account defaultName
This commit is contained in:
Alexis Rouillard
2025-02-20 09:09:04 +01:00
committed by GitHub

View File

@ -294,7 +294,8 @@ void Workspaces::loadPersistentWorkspacesFromWorkspaceRules(const Json::Value &c
if (!rule["persistent"].asBool()) { if (!rule["persistent"].asBool()) {
continue; continue;
} }
auto const &workspace = rule["workspaceString"].asString(); auto const &workspace = rule.isMember("defaultName") ? rule["defaultName"].asString()
: rule["workspaceString"].asString();
auto const &monitor = rule["monitor"].asString(); auto const &monitor = rule["monitor"].asString();
// create this workspace persistently if: // create this workspace persistently if:
// 1. the allOutputs config option is enabled // 1. the allOutputs config option is enabled
@ -375,7 +376,10 @@ void Workspaces::onWorkspaceCreated(std::string const &workspaceName,
if ((allOutputs() || m_bar.output->name == workspaceJson["monitor"].asString()) && if ((allOutputs() || m_bar.output->name == workspaceJson["monitor"].asString()) &&
(showSpecial() || !name.starts_with("special")) && !isDoubleSpecial(workspaceName)) { (showSpecial() || !name.starts_with("special")) && !isDoubleSpecial(workspaceName)) {
for (Json::Value const &rule : workspaceRules) { for (Json::Value const &rule : workspaceRules) {
if (rule["workspaceString"].asString() == workspaceName) { auto ruleWorkspaceName = rule.isMember("defaultName")
? rule["defaultName"].asString()
: rule["workspaceString"].asString();
if (ruleWorkspaceName == workspaceName) {
workspaceJson["persistent-rule"] = rule["persistent"].asBool(); workspaceJson["persistent-rule"] = rule["persistent"].asBool();
break; break;
} }