diff options
Diffstat (limited to 'src/managers/input/InputManager.cpp')
| -rw-r--r-- | src/managers/input/InputManager.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 9dd6e5da..ce61a665 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -98,10 +98,15 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) { if (*PZOOMFACTOR != 1.f) g_pHyprRenderer->damageMonitor(PMONITOR); - if (m_pForcedFocus) { - pFoundWindow = m_pForcedFocus; + CWindow* forcedFocus = m_pForcedFocus; + + if (!forcedFocus) + forcedFocus = g_pCompositor->getForceFocus(); + + if (forcedFocus) { + pFoundWindow = forcedFocus; surfacePos = pFoundWindow->m_vRealPosition.vec(); - foundSurface = m_pForcedFocus->m_pWLSurface.wlr(); + foundSurface = pFoundWindow->m_pWLSurface.wlr(); } // constraints |
