summaryrefslogtreecommitdiff
path: root/src/managers
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-06 14:58:46 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-06 14:58:46 +0200
commit8d05dddb98e598da6e487b472399d691fc0b7e85 (patch)
tree265e15406674e5ebdb5e8b080ffd38f746e5c1cc /src/managers
parent0d54451c677498ad5c37510d02abc646ea38f8aa (diff)
fix focus on maximized windows with special open
Diffstat (limited to 'src/managers')
-rw-r--r--src/managers/input/InputManager.cpp15
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) {