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.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp
index ce1e2a3f..5e4be345 100644
--- a/src/layout/DwindleLayout.cpp
+++ b/src/layout/DwindleLayout.cpp
@@ -324,12 +324,25 @@ void CHyprDwindleLayout::onBeginDragWindow() {
return;
}
+ if (!DRAGGINGWINDOW->m_bIsFloating) {
+ DRAGGINGWINDOW->m_bDraggingTiled = true;
+ changeWindowFloatingMode(DRAGGINGWINDOW);
+ } else {
+ DRAGGINGWINDOW->m_bDraggingTiled = false;
+ }
m_vBeginDragXY = g_pInputManager->getMouseCoordsInternal();
m_vBeginDragPositionXY = DRAGGINGWINDOW->m_vRealPosition;
m_vBeginDragSizeXY = DRAGGINGWINDOW->m_vRealSize;
}
+void CHyprDwindleLayout::onEndDragWindow() {
+ const auto DRAGGINGWINDOW = g_pInputManager->currentlyDraggedWindow;
+
+ if (DRAGGINGWINDOW->m_bDraggingTiled)
+ changeWindowFloatingMode(DRAGGINGWINDOW);
+}
+
void CHyprDwindleLayout::onMouseMove(const Vector2D& mousePos) {
const auto DRAGGINGWINDOW = g_pInputManager->currentlyDraggedWindow;