move refocus on only unmap

This commit is contained in:
vaxerski 2022-08-03 12:03:18 +02:00
parent 179e5188a4
commit c779a7c03b
2 changed files with 4 additions and 3 deletions

View file

@ -383,6 +383,10 @@ void Events::listener_unmapWindow(void* owner, void* data) {
// refocus on a new window // refocus on a new window
g_pInputManager->refocus(); g_pInputManager->refocus();
if (!g_pCompositor->m_pLastWindow) {
g_pCompositor->focusWindow(g_pCompositor->getFirstWindowOnWorkspace(PWORKSPACE->m_iID));
}
Debug::log(LOG, "Destroying the SubSurface tree of unmapped window %x", PWINDOW); Debug::log(LOG, "Destroying the SubSurface tree of unmapped window %x", PWINDOW);
SubsurfaceTree::destroySurfaceTree(PWINDOW->m_pSurfaceTree); SubsurfaceTree::destroySurfaceTree(PWINDOW->m_pSurfaceTree);

View file

@ -183,9 +183,6 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
} else } else
pFoundWindow = g_pCompositor->vectorToWindowIdeal(mouseCoords); pFoundWindow = g_pCompositor->vectorToWindowIdeal(mouseCoords);
if (!pFoundWindow && refocus)
pFoundWindow = g_pCompositor->getFirstWindowOnWorkspace(PWORKSPACE->m_iID);
if (pFoundWindow) { if (pFoundWindow) {
if (!pFoundWindow->m_bIsX11) { if (!pFoundWindow->m_bIsX11) {
foundSurface = g_pCompositor->vectorWindowToSurface(mouseCoords, pFoundWindow, surfaceCoords); foundSurface = g_pCompositor->vectorWindowToSurface(mouseCoords, pFoundWindow, surfaceCoords);