summaryrefslogtreecommitdiff
path: root/src/helpers/Monitor.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2023-08-14 14:22:06 +0200
committervaxerski <vaxry@vaxry.net>2023-08-14 14:22:10 +0200
commit13886a264f7e076681f9c2c65367c643a973f390 (patch)
treece8d58854307298c7312341f90ca926e94e87db3 /src/helpers/Monitor.cpp
parenta0cf89029263decba29b0f4216b38576f4418335 (diff)
internal: add a new monitor auto system
Diffstat (limited to 'src/helpers/Monitor.cpp')
-rw-r--r--src/helpers/Monitor.cpp9
1 files changed, 9 insertions, 0 deletions
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);
+}