From 5f650f8ed99705f51b473e592c974a7ddaa3c9d7 Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Mon, 2 Mar 2026 16:54:33 +0000 Subject: [PATCH] layout/windowTarget: don't use swar on maximized (#13501) --- hyprtester/src/tests/main/layout.cpp | 9 +++++++++ src/layout/target/WindowTarget.cpp | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hyprtester/src/tests/main/layout.cpp b/hyprtester/src/tests/main/layout.cpp index d40a5bc4..98e54f79 100644 --- a/hyprtester/src/tests/main/layout.cpp +++ b/hyprtester/src/tests/main/layout.cpp @@ -28,6 +28,15 @@ static void swar() { EXPECT_CONTAINS(str, "size: 1036,1036"); } + // don't use swar on maximized + OK(getFromSocket("/dispatch fullscreen 1")); + + { + auto str = getFromSocket("/activewindow"); + EXPECT_CONTAINS(str, "at: 22,22"); + EXPECT_CONTAINS(str, "size: 1876,1036"); + } + // clean up NLog::log("{}Killing all windows", Colors::YELLOW); Tests::killAllWindows(); diff --git a/src/layout/target/WindowTarget.cpp b/src/layout/target/WindowTarget.cpp index cfabb761..15ac495b 100644 --- a/src/layout/target/WindowTarget.cpp +++ b/src/layout/target/WindowTarget.cpp @@ -110,7 +110,7 @@ void CWindowTarget::updatePos() { Vector2D ratioPadding; - if ((*REQUESTEDRATIO).y != 0 && m_space->algorithm()->tiledTargets() <= 1) { + if ((*REQUESTEDRATIO).y != 0 && m_space->algorithm()->tiledTargets() <= 1 && fullscreenMode() == FSMODE_NONE) { const Vector2D originalSize = MONITOR_WORKAREA.size(); const double requestedRatio = (*REQUESTEDRATIO).x / (*REQUESTEDRATIO).y; @@ -137,7 +137,7 @@ void CWindowTarget::updatePos() { calcPos = calcPos + GAPOFFSETTOPLEFT + ratioPadding / 2; calcSize = calcSize - GAPOFFSETTOPLEFT - GAPOFFSETBOTTOMRIGHT - ratioPadding; - if (isPseudo()) { + if (isPseudo() && fullscreenMode() == FSMODE_NONE) { // Calculate pseudo float scale = 1;