diff options
| author | shezdy <77217897+shezdy@users.noreply.github.com> | 2024-05-22 13:51:46 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-22 21:51:46 +0200 |
| commit | 155ae3721c5ef57321a7ef010369f0e03a358612 (patch) | |
| tree | 5d1f2256bc4c24b9e0bf25a1c9f155a80d0b7477 /src/Compositor.cpp | |
| parent | 93fea890433ec11d7a915f5e0466b2e8b513e895 (diff) | |
keybinds: Add option to disable window direction monitor fallback (#6182)
* add monitor fallback option
* format
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index efbd997f..5c9cfbad 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1386,7 +1386,8 @@ PHLWINDOW CCompositor::getWindowInDirection(PHLWINDOW pWindow, char dir) { return nullptr; // 0 -> history, 1 -> shared length - static auto PMETHOD = CConfigValue<Hyprlang::INT>("binds:focus_preferred_method"); + static auto PMETHOD = CConfigValue<Hyprlang::INT>("binds:focus_preferred_method"); + static auto PMONITORFALLBACK = CConfigValue<Hyprlang::INT>("binds:window_direction_monitor_fallback"); const auto PMONITOR = g_pCompositor->getMonitorFromID(pWindow->m_iMonitorID); @@ -1416,6 +1417,9 @@ PHLWINDOW CCompositor::getWindowInDirection(PHLWINDOW pWindow, char dir) { if (PWORKSPACE->m_bHasFullscreenWindow && !w->m_bIsFullscreen && !w->m_bCreatedOverFullscreen) continue; + if (!*PMONITORFALLBACK && pWindow->m_iMonitorID != w->m_iMonitorID) + continue; + const auto BWINDOWIDEALBB = w->getWindowIdealBoundingBoxIgnoreReserved(); const auto POSB = Vector2D(BWINDOWIDEALBB.x, BWINDOWIDEALBB.y); @@ -1505,6 +1509,9 @@ PHLWINDOW CCompositor::getWindowInDirection(PHLWINDOW pWindow, char dir) { if (PWORKSPACE->m_bHasFullscreenWindow && !w->m_bIsFullscreen && !w->m_bCreatedOverFullscreen) continue; + if (!*PMONITORFALLBACK && pWindow->m_iMonitorID != w->m_iMonitorID) + continue; + const auto DIST = w->middle().distance(pWindow->middle()); const auto ANGLE = vectorAngles(Vector2D{w->middle() - pWindow->middle()}, VECTORS.at(dir)); |
