From dc78c58c77d634f690a6f6f74b54a0c4f17ea5a0 Mon Sep 17 00:00:00 2001 From: lisuke <1657787678@qq.com> Date: Tue, 21 Mar 2023 00:07:18 +0800 Subject: fix: a fullscreen bug. (#1821) (#1831) --- src/layout/DwindleLayout.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'src/layout/DwindleLayout.cpp') diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp index 37a7bf81..e05e9a7a 100644 --- a/src/layout/DwindleLayout.cpp +++ b/src/layout/DwindleLayout.cpp @@ -462,17 +462,14 @@ void CHyprDwindleLayout::recalculateMonitor(const int& monid) { } } - // Ignore any recalc events if we have a fullscreen window, but process if fullscreen mode 2 if (PWORKSPACE->m_bHasFullscreenWindow) { - if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_FULL) - return; - // massive hack from the fullscreen func const auto PFULLWINDOW = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID); - if (!PFULLWINDOW) { // ???? - PWORKSPACE->m_bHasFullscreenWindow = false; - } else { + if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_FULL) { + PFULLWINDOW->m_vRealPosition = PMONITOR->vecPosition; + PFULLWINDOW->m_vRealSize = PMONITOR->vecSize; + } else if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_MAXIMIZED) { SDwindleNodeData fakeNode; fakeNode.pWindow = PFULLWINDOW; fakeNode.position = PMONITOR->vecPosition + PMONITOR->vecReservedTopLeft; @@ -482,9 +479,9 @@ void CHyprDwindleLayout::recalculateMonitor(const int& monid) { PFULLWINDOW->m_vSize = fakeNode.size; applyNodeDataToWindow(&fakeNode); - - return; } + + return; } const auto TOPNODE = getMasterNodeOnWorkspace(PMONITOR->activeWorkspace); -- cgit v1.2.3