From 13886a264f7e076681f9c2c65367c643a973f390 Mon Sep 17 00:00:00 2001 From: vaxerski Date: Mon, 14 Aug 2023 14:22:06 +0200 Subject: internal: add a new monitor auto system --- src/helpers/Monitor.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/helpers/Monitor.cpp') diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index a860585d..3839115a 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -489,6 +489,8 @@ void CMonitor::setMirror(const std::string& mirrorOf) { // remove from mvmonitors std::erase_if(g_pCompositor->m_vMonitors, [&](const auto& other) { return other.get() == this; }); + g_pCompositor->arrangeMonitors(); + g_pCompositor->setActiveMonitor(g_pCompositor->m_vMonitors.front().get()); g_pCompositor->sanityCheckWorkspaces(); @@ -622,3 +624,10 @@ void CMonitor::setSpecialWorkspace(CWorkspace* const pWorkspace) { void CMonitor::setSpecialWorkspace(const int& id) { setSpecialWorkspace(g_pCompositor->getWorkspaceByID(id)); } + +void CMonitor::moveTo(const Vector2D& pos) { + vecPosition = pos; + + if (!isMirror()) + wlr_output_layout_add(g_pCompositor->m_sWLROutputLayout, output, (int)vecPosition.x, (int)vecPosition.y); +} -- cgit v1.2.3