diff options
| author | fazzi <18248986+fxzzi@users.noreply.github.com> | 2026-05-02 20:34:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-02 20:34:43 +0100 |
| commit | e180c59b467bad2002efc7770acd4bfd5437da1b (patch) | |
| tree | cf05591642fae0eb449e6c8466404aa26c48d804 /src/desktop/rule/windowRule/WindowRuleApplicator.cpp | |
| parent | 30cd345addf0412baf87b71ad7213508c534e334 (diff) | |
desktop/windowRule: add `confine_pointer` window rule (#13379)
Diffstat (limited to 'src/desktop/rule/windowRule/WindowRuleApplicator.cpp')
| -rw-r--r-- | src/desktop/rule/windowRule/WindowRuleApplicator.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/desktop/rule/windowRule/WindowRuleApplicator.cpp b/src/desktop/rule/windowRule/WindowRuleApplicator.cpp index c19c6338..b3349bd6 100644 --- a/src/desktop/rule/windowRule/WindowRuleApplicator.cpp +++ b/src/desktop/rule/windowRule/WindowRuleApplicator.cpp @@ -52,9 +52,9 @@ std::unordered_set<CWindowRuleEffectContainer::storageType> CWindowRuleApplicato std::pair{std::ref(m_noFollowMouse), [this] { return noFollowMouseEffect(); }}, std::pair{std::ref(m_noScreenShare), [this] { return noScreenShareEffect(); }}, std::pair{std::ref(m_noVRR), [this] { return noVRREffect(); }}, std::pair{std::ref(m_persistentSize), [this] { return persistentSizeEffect(); }}, std::pair{std::ref(m_stayFocused), [this] { return stayFocusedEffect(); }}, std::pair{std::ref(m_idleInhibitMode), [this] { return idleInhibitModeEffect(); }}, - std::pair{std::ref(m_borderSize), [this] { return borderSizeEffect(); }}, std::pair{std::ref(m_rounding), [this] { return roundingEffect(); }}, - std::pair{std::ref(m_roundingPower), [this] { return roundingPowerEffect(); }}, std::pair{std::ref(m_scrollMouse), [this] { return scrollMouseEffect(); }}, - std::pair{std::ref(m_scrollTouchpad), [this] { return scrollTouchpadEffect(); }}, + std::pair{std::ref(m_confinePointer), [this] { return confinePointerEffect(); }}, std::pair{std::ref(m_borderSize), [this] { return borderSizeEffect(); }}, + std::pair{std::ref(m_rounding), [this] { return roundingEffect(); }}, std::pair{std::ref(m_roundingPower), [this] { return roundingPowerEffect(); }}, + std::pair{std::ref(m_scrollMouse), [this] { return scrollMouseEffect(); }}, std::pair{std::ref(m_scrollTouchpad), [this] { return scrollTouchpadEffect(); }}, std::pair{std::ref(m_animationStyle), [this] { return animationStyleEffect(); }}, std::pair{std::ref(m_maxSize), [this] { return maxSizeEffect(); }}, std::pair{std::ref(m_minSize), [this] { return minSizeEffect(); }}, std::pair{std::ref(m_activeBorderColor), [this] { return activeBorderColorEffect(); }}, std::pair{std::ref(m_inactiveBorderColor), [this] { return inactiveBorderColorEffect(); }})); @@ -342,6 +342,11 @@ CWindowRuleApplicator::SRuleResult CWindowRuleApplicator::applyDynamicRule(const m_stayFocused.second |= rule->getPropertiesMask(); break; } + case WINDOW_RULE_EFFECT_CONFINE_POINTER: { + m_confinePointer.first.set(truthy(effect), Types::PRIORITY_WINDOW_RULE); + m_confinePointer.second |= rule->getPropertiesMask(); + break; + } case WINDOW_RULE_EFFECT_SCROLL_MOUSE: { m_scrollMouse.first.set(std::get<float>(value), Types::PRIORITY_WINDOW_RULE); m_scrollMouse.second |= rule->getPropertiesMask(); |
