diff options
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 348ac584..bb1f4f92 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -2487,6 +2487,8 @@ void CCompositor::setIdleActivityInhibit(bool enabled) { } void CCompositor::arrangeMonitors() { + static auto* const PXWLFORCESCALEZERO = &g_pConfigManager->getConfigValuePtr("xwayland:force_zero_scaling")->intValue; + std::vector<CMonitor*> toArrange; std::vector<CMonitor*> arranged; @@ -2522,4 +2524,12 @@ void CCompositor::arrangeMonitors() { m->moveTo({maxOffset, 0}); maxOffset += m->vecPosition.x + m->vecSize.x; } + + // reset maxOffset (reuse) + // and set xwayland positions aka auto for all + maxOffset = 0; + for (auto& m : m_vMonitors) { + m->vecXWaylandPosition = {maxOffset, 0}; + maxOffset += (*PXWLFORCESCALEZERO ? m->vecTransformedSize.x : m->vecSize.x); + } } |
