summaryrefslogtreecommitdiff
path: root/src/layout/algorithm/tiled/master/MasterAlgorithm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/algorithm/tiled/master/MasterAlgorithm.cpp')
-rw-r--r--src/layout/algorithm/tiled/master/MasterAlgorithm.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/layout/algorithm/tiled/master/MasterAlgorithm.cpp b/src/layout/algorithm/tiled/master/MasterAlgorithm.cpp
index 88540d20..f2914a46 100644
--- a/src/layout/algorithm/tiled/master/MasterAlgorithm.cpp
+++ b/src/layout/algorithm/tiled/master/MasterAlgorithm.cpp
@@ -403,7 +403,9 @@ void CMasterAlgorithm::swapTargets(SP<ITarget> a, SP<ITarget> b) {
}
void CMasterAlgorithm::moveTargetInDirection(SP<ITarget> t, Math::eDirection dir, bool silent) {
- const auto PWINDOW2 = g_pCompositor->getWindowInDirection(t->window(), dir);
+ static auto PMONITORFALLBACK = CConfigValue<Hyprlang::INT>("binds:window_direction_monitor_fallback");
+
+ const auto PWINDOW2 = g_pCompositor->getWindowInDirection(t->window(), dir);
if (!t->window())
return;
@@ -424,6 +426,9 @@ void CMasterAlgorithm::moveTargetInDirection(SP<ITarget> t, Math::eDirection dir
t->window()->setAnimationsToMove();
if (t->window()->m_workspace != targetWs) {
+ if (!*PMONITORFALLBACK)
+ return; // noop
+
t->assignToSpace(targetWs->m_space, focalPointForDir(t, dir));
} else if (PWINDOW2) {
// if same monitor, switch windows