summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/desktop/rule/windowRule/WindowRuleApplicator.cpp2
-rw-r--r--src/desktop/rule/windowRule/WindowRuleApplicator.hpp2
-rw-r--r--src/desktop/view/Window.cpp2
3 files changed, 4 insertions, 2 deletions
diff --git a/src/desktop/rule/windowRule/WindowRuleApplicator.cpp b/src/desktop/rule/windowRule/WindowRuleApplicator.cpp
index 76109a42..6b2d1b94 100644
--- a/src/desktop/rule/windowRule/WindowRuleApplicator.cpp
+++ b/src/desktop/rule/windowRule/WindowRuleApplicator.cpp
@@ -481,6 +481,7 @@ CWindowRuleApplicator::SRuleResult CWindowRuleApplicator::applyStaticRule(const
break;
}
case WINDOW_RULE_EFFECT_MOVE: {
+ static_.center = std::nullopt;
static_.position = effect;
break;
}
@@ -489,6 +490,7 @@ CWindowRuleApplicator::SRuleResult CWindowRuleApplicator::applyStaticRule(const
break;
}
case WINDOW_RULE_EFFECT_CENTER: {
+ static_.position.clear();
static_.center = truthy(effect);
break;
}
diff --git a/src/desktop/rule/windowRule/WindowRuleApplicator.hpp b/src/desktop/rule/windowRule/WindowRuleApplicator.hpp
index 272cefe5..121de727 100644
--- a/src/desktop/rule/windowRule/WindowRuleApplicator.hpp
+++ b/src/desktop/rule/windowRule/WindowRuleApplicator.hpp
@@ -46,10 +46,10 @@ namespace Desktop::Rule {
std::optional<bool> pseudo;
std::optional<bool> pin;
std::optional<bool> noInitialFocus;
+ std::optional<bool> center;
std::optional<int> fullscreenStateClient;
std::optional<int> fullscreenStateInternal;
- std::optional<int> center;
std::optional<int> content;
std::optional<int> noCloseFor;
diff --git a/src/desktop/view/Window.cpp b/src/desktop/view/Window.cpp
index 0eadc326..bf853557 100644
--- a/src/desktop/view/Window.cpp
+++ b/src/desktop/view/Window.cpp
@@ -2248,7 +2248,7 @@ void CWindow::mapWindow() {
}
}
- if (m_ruleApplicator->static_.center) {
+ if (m_ruleApplicator->static_.center.value_or(false)) {
const auto WORKAREA = PMONITOR->logicalBoxMinusReserved();
*m_realPosition = WORKAREA.middle() - m_realSize->goal() / 2.f;
}