summaryrefslogtreecommitdiff
path: root/src/config/supplementary/executor/Executor.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2026-04-28 15:42:09 +0100
committerVaxry <43317083+vaxerski@users.noreply.github.com>2026-04-28 16:52:41 +0100
commitcbefb357a57ce5f6dd161a400a5867609022ee66 (patch)
tree446a9491200c0d495ab82562247d96b4e1af5b99 /src/config/supplementary/executor/Executor.cpp
parent98fbbafef78057c818fb02b15c27e38ad2f5b5bc (diff)
desktop/windowRule: use variants for storage internally
Improves storage: less dynamic parsing, immediate config errors, faster.
Diffstat (limited to 'src/config/supplementary/executor/Executor.cpp')
-rw-r--r--src/config/supplementary/executor/Executor.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/config/supplementary/executor/Executor.cpp b/src/config/supplementary/executor/Executor.cpp
index 70b47a69..b5d3a021 100644
--- a/src/config/supplementary/executor/Executor.cpp
+++ b/src/config/supplementary/executor/Executor.cpp
@@ -123,7 +123,11 @@ std::optional<uint64_t> CExecutor::spawnWithRules(std::string args, PHLWORKSPACE
std::string execToken = "";
if (!RULES.empty()) {
- auto rule = Desktop::Rule::CWindowRule::buildFromExecString(std::move(RULES));
+ auto rule = Desktop::Rule::CWindowRule::buildFromExecString(std::move(RULES));
+ if (!rule) {
+ Log::logger->log(Log::ERR, "Failed to parse exec rule: {}", rule.error());
+ return std::nullopt;
+ }
const auto TOKEN = g_pTokenManager->registerNewToken(nullptr, std::chrono::seconds(1));
@@ -132,7 +136,7 @@ std::optional<uint64_t> CExecutor::spawnWithRules(std::string args, PHLWORKSPACE
if (!PROC)
return std::nullopt;
- applyRuleToProc(rule, *PROC, TOKEN);
+ applyRuleToProc(*rule, *PROC, TOKEN);
return PROC;
}