From d8c819fe7f0f3371f162b1cc567310b50cb8fc6d Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sat, 8 Jan 2022 20:21:46 +0100 Subject: [PATCH] fix incorrect opens when focused on different monitor --- src/events/events.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/events/events.cpp b/src/events/events.cpp index 46a4cc4..cf67931 100644 --- a/src/events/events.cpp +++ b/src/events/events.cpp @@ -462,6 +462,11 @@ CWindow* Events::remapWindow(int windowID, bool wasfloating, int forcemonitor) { } } + if (g_pWindowManager->getWindowFromDrawable(g_pWindowManager->LastWindow) && forcemonitor == -1 && PMONITOR->ID != g_pWindowManager->getWindowFromDrawable(g_pWindowManager->LastWindow)->getMonitor()) { + // If the monitor of the last window doesnt match the current screen force the monitor of the cursor + forcemonitor = PMONITOR->ID; + } + const auto CURRENTSCREEN = forcemonitor != -1 ? forcemonitor : PMONITOR->ID; PWINDOWINARR->setWorkspaceID(g_pWindowManager->activeWorkspaces[CURRENTSCREEN]); PWINDOWINARR->setMonitor(CURRENTSCREEN);