diff options
author | vaxerski <[email protected]> | 2023-03-10 15:19:02 +0000 |
---|---|---|
committer | vaxerski <[email protected]> | 2023-03-10 15:19:09 +0000 |
commit | 253286669a115c4e63c3924eeec8391af2504c57 (patch) | |
tree | a0a909946402cddd9765de65b0ad528a23c5bfb9 | |
parent | 0ad2d9f0b5b27b9c5dd71989acb3ce519c33e47d (diff) | |
download | Hyprland-253286669a115c4e63c3924eeec8391af2504c57.tar.gz Hyprland-253286669a115c4e63c3924eeec8391af2504c57.zip |
groups: fix fullscreen behavior with groups
-rw-r--r-- | src/Window.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Window.cpp b/src/Window.cpp index 4de6d5a9..c1f7a56f 100644 --- a/src/Window.cpp +++ b/src/Window.cpp @@ -558,13 +558,18 @@ void CWindow::setGroupCurrent(CWindow* pWindow) { if (!isMember && pWindow != this) 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 PWINDOWPOS = PCURRENT->m_vRealPosition.goalv(); const auto CURRENTISFOCUS = PCURRENT == g_pCompositor->m_pLastWindow; + if (FULLSCREEN) + g_pCompositor->setWindowFullscreen(PCURRENT, false, WORKSPACE->m_efFullscreenMode); + PCURRENT->setHidden(true); pWindow->setHidden(false); @@ -579,6 +584,9 @@ void CWindow::setGroupCurrent(CWindow* pWindow) { if (CURRENTISFOCUS) g_pCompositor->focusWindow(pWindow); + + if (FULLSCREEN) + g_pCompositor->setWindowFullscreen(pWindow, true, WORKSPACE->m_efFullscreenMode); } void CWindow::insertWindowToGroup(CWindow* pWindow) { |