From 2ee9fb067526f51c6e13aa399ff540efe20cb540 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:16:31 +0100 Subject: don't recalc offset on monitor reload offset auto --- src/render/Renderer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/render/Renderer.cpp') diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 93017824..e2983cae 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -955,8 +955,6 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR wlr_output_set_scale(pMonitor->output, pMonitorRule->scale); pMonitor->scale = pMonitorRule->scale; - pMonitor->vecPosition = pMonitorRule->offset; - // loop over modes and choose an appropriate one. if (pMonitorRule->resolution != Vector2D() && pMonitorRule->resolution != Vector2D(-1,-1) && pMonitorRule->resolution != Vector2D(-1,-2)) { if (!wl_list_empty(&pMonitor->output->modes)) { @@ -1175,7 +1173,7 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR pMonitor->vecSize = (Vector2D(x, y) / pMonitor->scale).floor(); pMonitor->vecTransformedSize = Vector2D(x,y); - if (pMonitorRule->offset == Vector2D(-1, -1)) { + if (pMonitorRule->offset == Vector2D(-1, -1) && pMonitor->vecPosition == Vector2D(-1, -1)) { // let's find manually a sensible position for it, to the right. Vector2D finalPos; @@ -1189,6 +1187,8 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR } pMonitor->vecPosition = finalPos; + } else if (pMonitorRule->offset != Vector2D(-1, -1)) { + pMonitor->vecPosition = pMonitorRule->offset; } if (!pMonitor->isMirror()) -- cgit v1.2.3