From bf5844d60710f68dc5101dac0ff3db008debe30d Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Wed, 7 Dec 2022 18:53:10 +0000 Subject: [PATCH] add failsafe for dwindle windows --- src/layout/DwindleLayout.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp index 3c491d72..78545c05 100644 --- a/src/layout/DwindleLayout.cpp +++ b/src/layout/DwindleLayout.cpp @@ -336,6 +336,16 @@ void CHyprDwindleLayout::onWindowCreatedTiling(CWindow* pWindow) { g_pCompositor->setWindowFullscreen(PFULLWINDOW, false, FULLSCREEN_FULL); } + // last fail-safe to avoid duplicate fullscreens + if ((!OPENINGON || OPENINGON->pWindow == pWindow) && getNodesOnWorkspace(PNODE->workspaceID) > 1) { + for (auto& node : m_lDwindleNodesData) { + if (node.workspaceID == PNODE->workspaceID && node.pWindow != pWindow) { + OPENINGON = &node; + break; + } + } + } + // if it's the first, it's easy. Make it fullscreen. if (!OPENINGON || OPENINGON->pWindow == pWindow) { PNODE->position = PMONITOR->vecPosition + PMONITOR->vecReservedTopLeft;