diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2026-04-28 18:10:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-28 18:10:25 +0100 |
| commit | 94b90a2cb0b4a0e13018cd5ebbf09394abf3b96b (patch) | |
| tree | 484d32baaab1acdaab7a817c86aa89f117a21059 /src/config/lua/bindings/LuaBindingsConfigRules.cpp | |
| parent | ab75bbfbecdfb4a0355106f740944c87cb9edd4c (diff) | |
config/lua: add ExpressionVec2, allow using a table for vec2 rules (#14197)
Diffstat (limited to 'src/config/lua/bindings/LuaBindingsConfigRules.cpp')
| -rw-r--r-- | src/config/lua/bindings/LuaBindingsConfigRules.cpp | 18 |
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); } |
