diff options
| author | MightyPlaza <123664421+MightyPlaza@users.noreply.github.com> | 2023-08-11 14:54:16 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-11 16:54:16 +0200 |
| commit | 901236a5356a3f249af7d55e5db69889e50256b8 (patch) | |
| tree | c32390a947746dcd346e8386d35df332129b25c9 /src/config/ConfigManager.cpp | |
| parent | e4e8ae8f885104bb948afa24f1cd9fc3bdb450e9 (diff) | |
rules: center window improvements (#2935)
* center window improvements
modified: src/config/ConfigManager.cpp
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
* remove redundant line
modified: src/events/Windows.cpp
* simplify code
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
Diffstat (limited to 'src/config/ConfigManager.cpp')
| -rw-r--r-- | src/config/ConfigManager.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 0723ad24..cf2f8ed6 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -885,11 +885,11 @@ void CConfigManager::handleUnbind(const std::string& command, const std::string& bool windowRuleValid(const std::string& RULE) { return !(RULE != "float" && RULE != "tile" && RULE.find("opacity") != 0 && RULE.find("move") != 0 && RULE.find("size") != 0 && RULE.find("minsize") != 0 && RULE.find("maxsize") != 0 && RULE.find("pseudo") != 0 && RULE.find("monitor") != 0 && RULE.find("idleinhibit") != 0 && RULE != "nofocus" && RULE != "noblur" && - RULE != "noshadow" && RULE != "nodim" && RULE != "noborder" && RULE != "center" && RULE != "opaque" && RULE != "forceinput" && RULE != "fullscreen" && - RULE != "nofullscreenrequest" && RULE != "nomaximizerequest" && RULE != "fakefullscreen" && RULE != "nomaxsize" && RULE != "pin" && RULE != "noanim" && - RULE != "dimaround" && RULE != "windowdance" && RULE != "maximize" && RULE != "keepaspectratio" && RULE.find("animation") != 0 && RULE.find("rounding") != 0 && - RULE.find("workspace") != 0 && RULE.find("bordercolor") != 0 && RULE != "forcergbx" && RULE != "noinitialfocus" && RULE != "stayfocused" && - RULE.find("bordersize") != 0 && RULE.find("xray") != 0); + RULE != "noshadow" && RULE != "nodim" && RULE != "noborder" && RULE != "opaque" && RULE != "forceinput" && RULE != "fullscreen" && RULE != "nofullscreenrequest" && + RULE != "nomaximizerequest" && RULE != "fakefullscreen" && RULE != "nomaxsize" && RULE != "pin" && RULE != "noanim" && RULE != "dimaround" && RULE != "windowdance" && + RULE != "maximize" && RULE != "keepaspectratio" && RULE.find("animation") != 0 && RULE.find("rounding") != 0 && RULE.find("workspace") != 0 && + RULE.find("bordercolor") != 0 && RULE != "forcergbx" && RULE != "noinitialfocus" && RULE != "stayfocused" && RULE.find("bordersize") != 0 && RULE.find("xray") != 0 && + RULE.find("center") != 0); } bool layerRuleValid(const std::string& RULE) { @@ -917,7 +917,10 @@ void CConfigManager::handleWindowRule(const std::string& command, const std::str return; } - m_dWindowRules.push_back({RULE, VALUE}); + if (RULE.find("size") == 0 || RULE.find("maxsize") == 0 || RULE.find("minsize") == 0) + m_dWindowRules.push_front({RULE, VALUE}); + else + m_dWindowRules.push_back({RULE, VALUE}); } void CConfigManager::handleLayerRule(const std::string& command, const std::string& value) { @@ -1061,7 +1064,10 @@ void CConfigManager::handleWindowRuleV2(const std::string& command, const std::s return; } - m_dWindowRules.push_back(rule); + if (RULE.find("size") == 0 || RULE.find("maxsize") == 0 || RULE.find("minsize") == 0) + m_dWindowRules.push_front(rule); + else + m_dWindowRules.push_back(rule); } void CConfigManager::updateBlurredLS(const std::string& name, const bool forceBlur) { |
