summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-11-19 19:03:26 +0000
committerVaxry <vaxry@vaxry.net>2025-11-19 19:08:27 +0000
commit7532115318cd5c1ddf434d93e37995e55d5bc8cb (patch)
tree488ec2ccdb63f59062cca34b223306c595733714 /src
parent1c29d6b1ba10da17e5e3c0bb7cd7ac2ba6f736ca (diff)
rule: nuke parseRelativeVector
Diffstat (limited to 'src')
-rw-r--r--src/desktop/rule/windowRule/WindowRule.cpp21
-rw-r--r--src/desktop/rule/windowRule/WindowRule.hpp4
-rw-r--r--src/layout/IHyprLayout.cpp2
3 files changed, 2 insertions, 25 deletions
diff --git a/src/desktop/rule/windowRule/WindowRule.cpp b/src/desktop/rule/windowRule/WindowRule.cpp
index 1bcbbc96..6a6878d2 100644
--- a/src/desktop/rule/windowRule/WindowRule.cpp
+++ b/src/desktop/rule/windowRule/WindowRule.cpp
@@ -7,27 +7,6 @@
using namespace Desktop;
using namespace Desktop::Rule;
-std::optional<Vector2D> Rule::parseRelativeVector(PHLWINDOW w, const std::string& s) {
- try {
- const auto VALUE = s.substr(s.find(' ') + 1);
- const auto SIZEXSTR = VALUE.substr(0, VALUE.find(' '));
- const auto SIZEYSTR = VALUE.substr(VALUE.find(' ') + 1);
-
- const auto MAXSIZE = w->requestedMaxSize();
-
- const float SIZEX = SIZEXSTR == "max" ? std::clamp(MAXSIZE.x, MIN_WINDOW_SIZE, g_pCompositor->m_lastMonitor->m_size.x) :
- stringToPercentage(SIZEXSTR, g_pCompositor->m_lastMonitor->m_size.x);
-
- const float SIZEY = SIZEYSTR == "max" ? std::clamp(MAXSIZE.y, MIN_WINDOW_SIZE, g_pCompositor->m_lastMonitor->m_size.y) :
- stringToPercentage(SIZEYSTR, g_pCompositor->m_lastMonitor->m_size.y);
-
- return Vector2D{SIZEX, SIZEY};
-
- } catch (...) { Debug::log(LOG, "Rule size failed, rule: {}", s); }
-
- return std::nullopt;
-}
-
CWindowRule::CWindowRule(const std::string& name) : IRule(name) {
;
}
diff --git a/src/desktop/rule/windowRule/WindowRule.hpp b/src/desktop/rule/windowRule/WindowRule.hpp
index 944614ce..f7621828 100644
--- a/src/desktop/rule/windowRule/WindowRule.hpp
+++ b/src/desktop/rule/windowRule/WindowRule.hpp
@@ -8,9 +8,7 @@
#include <unordered_set>
namespace Desktop::Rule {
- constexpr const char* EXEC_RULE_ENV_NAME = "HL_EXEC_RULE_TOKEN";
-
- std::optional<Vector2D> parseRelativeVector(PHLWINDOW w, const std::string& s);
+ constexpr const char* EXEC_RULE_ENV_NAME = "HL_EXEC_RULE_TOKEN";
class CWindowRule : public IRule {
private:
diff --git a/src/layout/IHyprLayout.cpp b/src/layout/IHyprLayout.cpp
index 85b401bd..953e8e02 100644
--- a/src/layout/IHyprLayout.cpp
+++ b/src/layout/IHyprLayout.cpp
@@ -965,7 +965,7 @@ Vector2D IHyprLayout::predictSizeForNewWindowFloating(PHLWINDOW pWindow) { // ge
}
if (!pWindow->m_ruleApplicator->static_.size.empty()) {
- const auto SIZE = Desktop::Rule::parseRelativeVector(pWindow, pWindow->m_ruleApplicator->static_.size);
+ const auto SIZE = pWindow->calculateExpression(pWindow->m_ruleApplicator->static_.size);
if (SIZE)
return SIZE.value();
}