desktop/window: fix special workspace hiding on window unmap fallback (#15763)

This commit is contained in:
Meehir Prabhakar
2026-08-10 17:41:04 +02:00
committed by GitHub
parent 963c5cf818
commit c8a51d4f5b
+4 -1
View File
@@ -2679,6 +2679,9 @@ void CWindow::unmapWindow() {
}
}
if (candidate && PMONITOR && PMONITOR->m_activeSpecialWorkspace && candidate->m_workspace != PMONITOR->m_activeSpecialWorkspace)
candidate = nullptr;
Log::logger->log(Log::DEBUG, "On closed window, new focused candidate is {}", candidate);
if (candidate != Desktop::focusState()->window() && candidate) {
@@ -2692,7 +2695,7 @@ void CWindow::unmapWindow() {
Fullscreen::controller()->setFullscreenMode(candidate, CURRENT_WINDOW_FS_MODES.internal, std::nullopt, CURRENT_FS_LAYOUT_HANDLED);
}
if (!candidate && m_workspace && m_workspace->getWindowCount() == 0)
if (!candidate && m_workspace && (m_workspace->getWindowCount() == 0 || PMONITOR->m_activeSpecialWorkspace))
g_pInputManager->refocus();
g_pInputManager->sendMotionEventsToFocused();