summaryrefslogtreecommitdiff
path: root/src/layout/DwindleLayout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/DwindleLayout.cpp')
-rw-r--r--src/layout/DwindleLayout.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp
index b03f0ffd..3c1ee742 100644
--- a/src/layout/DwindleLayout.cpp
+++ b/src/layout/DwindleLayout.cpp
@@ -116,6 +116,9 @@ void CHyprDwindleLayout::applyNodeDataToWindow(SDwindleNodeData* pNode) {
}
void CHyprDwindleLayout::onWindowCreated(CWindow* pWindow) {
+ if (pWindow->m_bIsFloating)
+ return;
+
m_lDwindleNodesData.push_back(SDwindleNodeData());
const auto PNODE = &m_lDwindleNodesData.back();
@@ -127,7 +130,13 @@ void CHyprDwindleLayout::onWindowCreated(CWindow* pWindow) {
PNODE->isNode = false;
PNODE->layout = this;
- SDwindleNodeData* OPENINGON = getNodeFromWindow(g_pCompositor->vectorToWindowTiled(g_pInputManager->getMouseCoordsInternal()));
+ SDwindleNodeData* OPENINGON;
+ const auto MONFROMCURSOR = g_pCompositor->getMonitorFromCursor();
+
+ if (PMONITOR == MONFROMCURSOR)
+ OPENINGON = getNodeFromWindow(g_pCompositor->vectorToWindowTiled(g_pInputManager->getMouseCoordsInternal()));
+ else
+ OPENINGON = getFirstNodeOnWorkspace(MONFROMCURSOR->activeWorkspace);
// if it's the first, it's easy. Make it fullscreen.
if (!OPENINGON) {