diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-07-06 14:58:46 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-07-06 14:58:46 +0200 |
| commit | 8d05dddb98e598da6e487b472399d691fc0b7e85 (patch) | |
| tree | 265e15406674e5ebdb5e8b080ffd38f746e5c1cc /src | |
| parent | 0d54451c677498ad5c37510d02abc646ea38f8aa (diff) | |
fix focus on maximized windows with special open
Diffstat (limited to 'src')
| -rw-r--r-- | src/managers/input/InputManager.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 387cf306..b95a507c 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -155,9 +155,18 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) { // then windows if (!foundSurface) { - if (PWORKSPACE->m_bHasFullscreenWindow && PWORKSPACE->m_efFullscreenMode == FULLSCREEN_MAXIMIZED) - pFoundWindow = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID); - else + if (PWORKSPACE->m_bHasFullscreenWindow && PWORKSPACE->m_efFullscreenMode == FULLSCREEN_MAXIMIZED) { + + if (PMONITOR->specialWorkspaceOpen) { + pFoundWindow = g_pCompositor->vectorToWindowIdeal(mouseCoords); + + if (pFoundWindow && pFoundWindow->m_iWorkspaceID != SPECIAL_WORKSPACE_ID) { + pFoundWindow = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID); + } + } else { + pFoundWindow = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID); + } + } else pFoundWindow = g_pCompositor->vectorToWindowIdeal(mouseCoords); if (pFoundWindow) { |
