mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-22 16:05:58 +01:00
parent
e2c286548d
commit
f26d7aa58d
3 changed files with 7 additions and 0 deletions
|
@ -2160,6 +2160,8 @@ std::optional<std::string> CConfigManager::handleWorkspaceRules(const std::strin
|
||||||
wsRule.isDefault = configStringToInt(rule.substr(delim + 8));
|
wsRule.isDefault = configStringToInt(rule.substr(delim + 8));
|
||||||
else if ((delim = rule.find("persistent:")) != std::string::npos)
|
else if ((delim = rule.find("persistent:")) != std::string::npos)
|
||||||
wsRule.isPersistent = configStringToInt(rule.substr(delim + 11));
|
wsRule.isPersistent = configStringToInt(rule.substr(delim + 11));
|
||||||
|
else if ((delim = rule.find("defaultName:")) != std::string::npos)
|
||||||
|
wsRule.defaultName = rule.substr(delim + 12);
|
||||||
else if ((delim = rule.find(ruleOnCreatedEmtpy)) != std::string::npos)
|
else if ((delim = rule.find(ruleOnCreatedEmtpy)) != std::string::npos)
|
||||||
wsRule.onCreatedEmptyRunCmd = cleanCmdForWorkspace(name, rule.substr(delim + ruleOnCreatedEmtpyLen));
|
wsRule.onCreatedEmptyRunCmd = cleanCmdForWorkspace(name, rule.substr(delim + ruleOnCreatedEmtpyLen));
|
||||||
else if ((delim = rule.find("layoutopt:")) != std::string::npos) {
|
else if ((delim = rule.find("layoutopt:")) != std::string::npos) {
|
||||||
|
|
|
@ -43,6 +43,7 @@ struct SWorkspaceRule {
|
||||||
std::optional<int> decorate;
|
std::optional<int> decorate;
|
||||||
std::optional<int> shadow;
|
std::optional<int> shadow;
|
||||||
std::optional<std::string> onCreatedEmptyRunCmd;
|
std::optional<std::string> onCreatedEmptyRunCmd;
|
||||||
|
std::optional<std::string> defaultName;
|
||||||
std::map<std::string, std::string> layoutopts;
|
std::map<std::string, std::string> layoutopts;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,10 @@ CWorkspace::CWorkspace(int monitorID, std::string name, bool special) {
|
||||||
m_vRenderOffset.registerVar();
|
m_vRenderOffset.registerVar();
|
||||||
m_fAlpha.registerVar();
|
m_fAlpha.registerVar();
|
||||||
|
|
||||||
|
const auto RULEFORTHIS = g_pConfigManager->getWorkspaceRuleFor(this);
|
||||||
|
if (RULEFORTHIS.defaultName.has_value())
|
||||||
|
m_szName = RULEFORTHIS.defaultName.value();
|
||||||
|
|
||||||
g_pEventManager->postEvent({"createworkspace", m_szName});
|
g_pEventManager->postEvent({"createworkspace", m_szName});
|
||||||
EMIT_HOOK_EVENT("createWorkspace", this);
|
EMIT_HOOK_EVENT("createWorkspace", this);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue