diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-07-25 14:22:32 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-07-25 14:22:32 +0200 |
| commit | e388a86c9d2968a162ace54c5eeaf4a897d22dae (patch) | |
| tree | e9d75e4f003b8b0707a977136fd0544e2197bc92 /src | |
| parent | 3e6abaf680ac85daacc677836655e9aa222b1528 (diff) | |
move floating windows manually on moveworkspacetomonitor
Diffstat (limited to 'src')
| -rw-r--r-- | src/Compositor.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index a9b27396..175cb66d 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1273,8 +1273,14 @@ void CCompositor::moveWorkspaceToMonitor(CWorkspace* pWorkspace, SMonitor* pMoni pWorkspace->moveToMonitor(pMonitor->ID); for (auto& w : m_vWindows) { - if (w->m_iWorkspaceID == pWorkspace->m_iID) + if (w->m_iWorkspaceID == pWorkspace->m_iID) { w->m_iMonitorID = pMonitor->ID; + + // additionally, move floating windows manually + if (w->m_bIsFloating && w->m_bIsMapped && !w->m_bHidden) { + w->m_vRealPosition = w->m_vRealPosition.vec() - POLDMON->vecPosition + pMonitor->vecPosition; + } + } } if (SWITCHINGISACTIVE) { // if it was active, preserve its' status. If it wasn't, don't. |
