From 683a4b07c514fa3c13cdf09e475283a69fcc7653 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sun, 18 Feb 2024 00:13:38 +0000 Subject: rules: ignore static tile/float rules in dynamic gets fixes #4736 --- src/config/ConfigManager.cpp | 5 ++++- src/config/ConfigManager.hpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/config') diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index f7154e54..f1326c2a 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -2002,7 +2002,7 @@ SWorkspaceRule CConfigManager::getWorkspaceRuleFor(CWorkspace* pWorkspace) { return *IT; } -std::vector CConfigManager::getMatchingRules(CWindow* pWindow) { +std::vector CConfigManager::getMatchingRules(CWindow* pWindow, bool dynamic) { if (!g_pCompositor->windowValidMapped(pWindow)) return std::vector(); @@ -2128,6 +2128,9 @@ std::vector CConfigManager::getMatchingRules(CWindow* pWindow) { returns.push_back(rule); + if (dynamic) + continue; + if (rule.szRule == "float") hasFloating = true; else if (rule.szRule == "fullscreen") diff --git a/src/config/ConfigManager.hpp b/src/config/ConfigManager.hpp index d5957cd5..ecd781b7 100644 --- a/src/config/ConfigManager.hpp +++ b/src/config/ConfigManager.hpp @@ -120,7 +120,7 @@ class CConfigManager { std::string getBoundMonitorStringForWS(const std::string&); const std::deque& getAllWorkspaceRules(); - std::vector getMatchingRules(CWindow*); + std::vector getMatchingRules(CWindow*, bool dynamic = true); std::vector getMatchingRules(SLayerSurface*); std::unordered_map m_mAdditionalReservedAreas; -- cgit v1.2.3