summaryrefslogtreecommitdiff
path: root/src/config/lua/bindings/LuaBindingsConfigRules.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/lua/bindings/LuaBindingsConfigRules.cpp')
-rw-r--r--src/config/lua/bindings/LuaBindingsConfigRules.cpp18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/config/lua/bindings/LuaBindingsConfigRules.cpp b/src/config/lua/bindings/LuaBindingsConfigRules.cpp
index 88761f05..52ecaf69 100644
--- a/src/config/lua/bindings/LuaBindingsConfigRules.cpp
+++ b/src/config/lua/bindings/LuaBindingsConfigRules.cpp
@@ -1076,21 +1076,9 @@ static int hlWindowRule(lua_State* L) {
continue;
}
- auto val = UP<ILuaConfigValue>(desc->factory());
- auto err = val->parse(L);
- if (err.errorCode != PARSE_ERROR_OK) {
- const bool allowLegacyString = (key == "max_size" || key == "min_size" || key == "border_color") && lua_isstring(L, -1);
- if (allowLegacyString) {
- auto res = rule->addEffect(desc->effect, lua_tostring(L, -1));
- if (!res)
- self->addError(std::format("{}: hl.window_rule: field '{}': {}", sourceInfo, key, res.error()));
- } else
- self->addError(std::format("{}: hl.window_rule: field '{}': {}", sourceInfo, key, err.message));
- } else {
- auto res = rule->addEffect(desc->effect, val->toString());
- if (!res)
- self->addError(std::format("{}: hl.window_rule: field '{}': {}", sourceInfo, key, res.error()));
- }
+ auto res = Internal::addWindowRuleEffectFromLua(L, *desc, rule);
+ if (!res)
+ self->addError(std::format("{}: hl.window_rule: field '{}': {}", sourceInfo, key, res.error()));
lua_pop(L, 1);
}