diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-05-29 18:05:41 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-05-29 18:05:41 +0200 |
| commit | 1e3571eb5b00da73f7eb961975c21ceefa2dd366 (patch) | |
| tree | e3669a1cadb85aad3e724000cd749f6abd3001b2 /src/layout/IHyprLayout.cpp | |
| parent | 5484411232a0add23ae0acf9225571fc51e73310 (diff) | |
layout: don't reset to floating size on drag tiled
Diffstat (limited to 'src/layout/IHyprLayout.cpp')
| -rw-r--r-- | src/layout/IHyprLayout.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/layout/IHyprLayout.cpp b/src/layout/IHyprLayout.cpp index fc461f93..b5663b69 100644 --- a/src/layout/IHyprLayout.cpp +++ b/src/layout/IHyprLayout.cpp @@ -189,8 +189,11 @@ void IHyprLayout::onBeginDragWindow() { DRAGGINGWINDOW->m_bDraggingTiled = false; + m_vDraggingWindowOriginalFloatSize = DRAGGINGWINDOW->m_vLastFloatingSize; + if (!DRAGGINGWINDOW->m_bIsFloating) { if (g_pInputManager->dragMode == MBIND_MOVE) { + DRAGGINGWINDOW->m_vLastFloatingSize = (DRAGGINGWINDOW->m_vRealSize.goalv() * 0.8489).clamp(Vector2D{5, 5}, Vector2D{}).floor(); changeWindowFloatingMode(DRAGGINGWINDOW); DRAGGINGWINDOW->m_bIsFloating = true; DRAGGINGWINDOW->m_bDraggingTiled = true; @@ -250,6 +253,7 @@ void IHyprLayout::onEndDragWindow() { DRAGGINGWINDOW->m_bIsFloating = false; g_pInputManager->refocus(); changeWindowFloatingMode(DRAGGINGWINDOW); + DRAGGINGWINDOW->m_vLastFloatingSize = m_vDraggingWindowOriginalFloatSize; } g_pHyprRenderer->damageWindow(DRAGGINGWINDOW); |
