summaryrefslogtreecommitdiff
path: root/src/desktop/WindowRule.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-04-29 18:14:02 +0100
committerVaxry <vaxry@vaxry.net>2025-04-29 18:14:02 +0100
commitb10a43dabc0d65a03a3a169ff292f0f18d9c6640 (patch)
treeba93bdd1b1a1235ae0bd16f7569815dd8d224250 /src/desktop/WindowRule.cpp
parent5bd7ff884dc613ad22ecd227d41ce6ad7ee336df (diff)
windowrules: add noclosefor
fixes #10027
Diffstat (limited to 'src/desktop/WindowRule.cpp')
-rw-r--r--src/desktop/WindowRule.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/desktop/WindowRule.cpp b/src/desktop/WindowRule.cpp
index 245d1583..db1b0dde 100644
--- a/src/desktop/WindowRule.cpp
+++ b/src/desktop/WindowRule.cpp
@@ -8,9 +8,9 @@ static const auto RULES = std::unordered_set<std::string>{
"float", "fullscreen", "maximize", "noinitialfocus", "pin", "stayfocused", "tile", "renderunfocused", "persistentsize",
};
static const auto RULES_PREFIX = std::unordered_set<std::string>{
- "animation", "bordercolor", "bordersize", "center", "content", "fullscreenstate", "group", "idleinhibit", "maxsize", "minsize",
- "monitor", "move", "opacity", "plugin:", "prop", "pseudo", "rounding", "roundingpower", "scrollmouse", "scrolltouchpad",
- "size", "suppressevent", "tag", "workspace", "xray",
+ "animation", "bordercolor", "bordersize", "center", "content", "fullscreenstate", "group", "idleinhibit", "maxsize", "minsize", "monitor",
+ "move", "noclosefor", "opacity", "plugin:", "prop", "pseudo", "rounding", "roundingpower", "scrollmouse", "scrolltouchpad", "size",
+ "suppressevent", "tag", "workspace", "xray",
};
CWindowRule::CWindowRule(const std::string& rule, const std::string& value, bool isV2, bool isExecRule) : m_value(value), m_rule(rule), m_v2(isV2), m_execRule(isExecRule) {
@@ -79,6 +79,8 @@ CWindowRule::CWindowRule(const std::string& rule, const std::string& value, bool
m_ruleType = RULE_PROP;
else if (rule.starts_with("content"))
m_ruleType = RULE_CONTENT;
+ else if (rule.starts_with("noclosefor"))
+ m_ruleType = RULE_NOCLOSEFOR;
else {
// check if this is a prop.
const CVarList VARS(rule, 0, 's', true);