groups: fix fullscreen behavior with groups

This commit is contained in:
vaxerski 2023-03-10 15:19:02 +00:00
parent 0ad2d9f0b5
commit 253286669a

View file

@ -558,13 +558,18 @@ void CWindow::setGroupCurrent(CWindow* pWindow) {
if (!isMember && pWindow != this) if (!isMember && pWindow != this)
return; return;
const auto PCURRENT = getGroupCurrent(); const auto PCURRENT = getGroupCurrent();
const bool FULLSCREEN = PCURRENT->m_bIsFullscreen;
const auto WORKSPACE = g_pCompositor->getWorkspaceByID(PCURRENT->m_iWorkspaceID);
const auto PWINDOWSIZE = PCURRENT->m_vRealSize.goalv(); const auto PWINDOWSIZE = PCURRENT->m_vRealSize.goalv();
const auto PWINDOWPOS = PCURRENT->m_vRealPosition.goalv(); const auto PWINDOWPOS = PCURRENT->m_vRealPosition.goalv();
const auto CURRENTISFOCUS = PCURRENT == g_pCompositor->m_pLastWindow; const auto CURRENTISFOCUS = PCURRENT == g_pCompositor->m_pLastWindow;
if (FULLSCREEN)
g_pCompositor->setWindowFullscreen(PCURRENT, false, WORKSPACE->m_efFullscreenMode);
PCURRENT->setHidden(true); PCURRENT->setHidden(true);
pWindow->setHidden(false); pWindow->setHidden(false);
@ -579,6 +584,9 @@ void CWindow::setGroupCurrent(CWindow* pWindow) {
if (CURRENTISFOCUS) if (CURRENTISFOCUS)
g_pCompositor->focusWindow(pWindow); g_pCompositor->focusWindow(pWindow);
if (FULLSCREEN)
g_pCompositor->setWindowFullscreen(pWindow, true, WORKSPACE->m_efFullscreenMode);
} }
void CWindow::insertWindowToGroup(CWindow* pWindow) { void CWindow::insertWindowToGroup(CWindow* pWindow) {