summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
diff options
context:
space:
mode:
authormemchr <118117622+memchr@users.noreply.github.com>2023-07-24 16:25:10 +0000
committerGitHub <noreply@github.com>2023-07-24 18:25:10 +0200
commit76c6e09e3945ccf1d89ec4262a4ac3f7c3d3cca4 (patch)
treefc075b89966365d2b1996f5d333b560060fda26c /src/managers/KeybindManager.cpp
parent9bad2a81809bdaa2020006427af2110b6a912c3b (diff)
keybinds: Make moveintogroup locking check configurable (#2796)
* groups: revert to the old moveintogroup behaviour, ignore m_sGroupData.locked * groups: Make moveintogroup locking check configurable
Diffstat (limited to 'src/managers/KeybindManager.cpp')
-rw-r--r--src/managers/KeybindManager.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index 13837e97..3b87f3b3 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -2018,7 +2018,9 @@ void CKeybindManager::lockActiveGroup(std::string args) {
}
void CKeybindManager::moveIntoGroup(std::string args) {
- char arg = args[0];
+ char arg = args[0];
+
+ static auto* const GROUPLOCKCHECK = &g_pConfigManager->getConfigValuePtr("misc:moveintogroup_lock_check")->intValue;
if (!isDirection(args)) {
Debug::log(ERR, "Cannot move into group in direction %c, unsupported direction. Supported: l,r,u/t,d/b", arg);
@@ -2035,7 +2037,7 @@ void CKeybindManager::moveIntoGroup(std::string args) {
if (!PWINDOWINDIR || !PWINDOWINDIR->m_sGroupData.pNextWindow)
return;
- if (PWINDOW->m_sGroupData.locked || PWINDOWINDIR->m_sGroupData.locked)
+ if (*GROUPLOCKCHECK && (PWINDOWINDIR->getGroupHead()->m_sGroupData.locked || (PWINDOW->m_sGroupData.pNextWindow && PWINDOW->m_sGroupData.locked)))
return;
if (!PWINDOW->m_sGroupData.pNextWindow)