monitor: move floating windows with layout changes (#14928)

Co-authored-by: Pppp1116 <pcaiadoguerreiro@gmail.com>
This commit is contained in:
NotPppp1116
2026-06-07 12:26:13 +02:00
committed by Vaxry
co-authored by Pppp1116
parent 112da46788
commit 6a5a369522
+17
View File
@@ -1676,7 +1676,24 @@ void CMonitor::setSpecialWorkspace(const WORKSPACEID& id) {
}
void CMonitor::moveTo(const Vector2D& pos) {
if (m_position == pos)
return;
const auto OLD_POSITION = m_position;
m_position = pos;
if (OLD_POSITION == Vector2D{-1, -1})
return;
const auto DELTA = pos - OLD_POSITION;
for (const auto& w : g_pCompositor->m_windows) {
if (!validMapped(w) || !w->m_isFloating || w->m_monitor != m_self)
continue;
w->layoutTarget()->setPositionGlobal(w->layoutTarget()->position().translate(DELTA));
}
}
Vector2D CMonitor::middle() {