summaryrefslogtreecommitdiff
path: root/src/desktop/Window.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/desktop/Window.cpp')
-rw-r--r--src/desktop/Window.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/desktop/Window.cpp b/src/desktop/Window.cpp
index 91c76e7c..0f6bac99 100644
--- a/src/desktop/Window.cpp
+++ b/src/desktop/Window.cpp
@@ -1697,8 +1697,7 @@ Vector2D CWindow::requestedMaxSize() {
void CWindow::sendWindowSize(Vector2D size, bool force, std::optional<Vector2D> overridePos) {
static auto PXWLFORCESCALEZERO = CConfigValue<Hyprlang::INT>("xwayland:force_zero_scaling");
-
- const auto PMONITOR = m_pMonitor.lock();
+ const auto PMONITOR = m_pMonitor.lock();
size = size.clamp(Vector2D{1, 1}, Vector2D{std::numeric_limits<double>::infinity(), std::numeric_limits<double>::infinity()});
@@ -1707,14 +1706,9 @@ void CWindow::sendWindowSize(Vector2D size, bool force, std::optional<Vector2D>
Vector2D windowPos = overridePos.value_or(m_vRealPosition->goal());
if (m_bIsX11 && PMONITOR) {
- windowPos -= PMONITOR->vecPosition;
-
- if (*PXWLFORCESCALEZERO) {
- windowPos *= PMONITOR->scale;
+ windowPos = g_pXWaylandManager->waylandToXWaylandCoords(windowPos);
+ if (*PXWLFORCESCALEZERO)
size *= PMONITOR->scale;
- }
-
- windowPos += PMONITOR->vecXWaylandPosition;
}
if (!force && m_vPendingReportedSize == size && (windowPos == m_vReportedPosition || !m_bIsX11))