From 6ad2cdc6cb3876297e1acb7ad030c6ce4ef1ae74 Mon Sep 17 00:00:00 2001 From: LuYishan-4 <148339075+LuYishan-4@users.noreply.github.com> Date: Sat, 17 Oct 2026 20:30:21 +0200 Subject: [PATCH 1/8] scrolling: fix inconsistent column widths at tape edges - #16489 --- hyprtester/src/tests/main/scroll.cpp | 26 +++++++++---------- .../tiled/scrolling/ScrollingAlgorithm.cpp | 10 +++---- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/hyprtester/src/tests/main/scroll.cpp b/hyprtester/src/tests/main/scroll.cpp index 3430a7001b9..6f402e7e853 100644 --- a/hyprtester/src/tests/main/scroll.cpp +++ b/hyprtester/src/tests/main/scroll.cpp @@ -248,7 +248,7 @@ TEST_CASE(scrollWindowRule) { // not the greatest test, but as long as res and gaps don't change, we good. // if this test breaks, it's likely you broke equal sizing - ASSERT_CONTAINS(getFromSocket("/activewindow"), "size: 179,1036"); + ASSERT_CONTAINS(getFromSocket("/activewindow"), "size: 174,1036"); } /* @@ -534,8 +534,8 @@ TEST_CASE(scroll_LAYOUT_HANDLED_TestFsingGroupedWindows) { auto entryStart = clients.rfind("Window ", classPos); auto entryEnd = clients.find("\n\n", classPos); auto windowEntry = clients.substr(entryStart, entryEnd - entryStart); - EXPECT_CONTAINS(windowEntry, "size: 1915,1059"); - EXPECT_CONTAINS(windowEntry, "at: 0,21"); + EXPECT_CONTAINS(windowEntry, "size: 1910,1059"); + EXPECT_CONTAINS(windowEntry, "at: 5,21"); } }; @@ -562,9 +562,9 @@ TEST_CASE(scroll_LAYOUT_HANDLED_TestFsingGroupedWindows) { auto entryStart = clients.rfind("Window ", classPos); auto entryEnd = clients.find("\n\n", classPos); auto windowEntry = clients.substr(entryStart, entryEnd - entryStart); - EXPECT_CONTAINS(windowEntry, "at: -940,41"); + EXPECT_CONTAINS(windowEntry, "at: -935,41"); // cuz the gaps and borders workspace rule now applies as it is no longer covering - EXPECT_CONTAINS(windowEntry, "size: 1875,1019"); + EXPECT_CONTAINS(windowEntry, "size: 1870,1019"); EXPECT_CONTAINS(windowEntry, "fullscreen: 0"); } }; @@ -575,8 +575,8 @@ TEST_CASE(scroll_LAYOUT_HANDLED_TestFsingGroupedWindows) { // check position and size for the focused group member (kitten2). auto str = getFromSocket("/activewindow"); EXPECT_CONTAINS(str, "class: kitten2"); - EXPECT_CONTAINS(str, "at: 0,21"); - EXPECT_CONTAINS(str, "size: 1915,1059"); + EXPECT_CONTAINS(str, "at: 5,21"); + EXPECT_CONTAINS(str, "size: 1910,1059"); } checkHiddenGroupMember_tiled("kitten1"); @@ -587,8 +587,8 @@ TEST_CASE(scroll_LAYOUT_HANDLED_TestFsingGroupedWindows) { // check position and size for the focused group member (kitten2). auto str = getFromSocket("/activewindow"); EXPECT_CONTAINS(str, "class: kitten1"); - EXPECT_CONTAINS(str, "at: 0,21"); - EXPECT_CONTAINS(str, "size: 1915,1059"); + EXPECT_CONTAINS(str, "at: 5,21"); + EXPECT_CONTAINS(str, "size: 1910,1059"); } checkHiddenGroupMember_tiled("kitten2"); @@ -605,8 +605,8 @@ TEST_CASE(scroll_LAYOUT_HANDLED_TestFsingGroupedWindows) { // check position and size for the focused group member (kitten2). auto str = getFromSocket("/activewindow"); EXPECT_CONTAINS(str, "class: kitten2"); - EXPECT_CONTAINS(str, "at: -940,41"); - EXPECT_CONTAINS(str, "size: 1875,1019"); + EXPECT_CONTAINS(str, "at: -935,41"); + EXPECT_CONTAINS(str, "size: 1870,1019"); EXPECT_CONTAINS(str, "fullscreen: 1"); } checkHiddenGroupMember_notCovering("kitten1"); @@ -621,8 +621,8 @@ TEST_CASE(scroll_LAYOUT_HANDLED_TestFsingGroupedWindows) { // check position and size for the focused group member (kitten2). auto str = getFromSocket("/activewindow"); EXPECT_CONTAINS(str, "class: kitten1"); - EXPECT_CONTAINS(str, "at: -940,41"); - EXPECT_CONTAINS(str, "size: 1875,1019"); + EXPECT_CONTAINS(str, "at: -935,41"); + EXPECT_CONTAINS(str, "size: 1870,1019"); EXPECT_CONTAINS(str, "fullscreen: 1"); } checkHiddenGroupMember_notCovering("kitten2"); diff --git a/src/layout/algorithm/tiled/scrolling/ScrollingAlgorithm.cpp b/src/layout/algorithm/tiled/scrolling/ScrollingAlgorithm.cpp index 9605aa84e3c..1e7be836740 100644 --- a/src/layout/algorithm/tiled/scrolling/ScrollingAlgorithm.cpp +++ b/src/layout/algorithm/tiled/scrolling/ScrollingAlgorithm.cpp @@ -472,15 +472,13 @@ void SScrollingData::recalculate(bool forceInstant) { CBox visual = logical; const bool PRIMARY_HORIZ = controller->isPrimaryHorizontal(); - const bool COL_NOT_LEFT = controller->isReversed() ? colIdx + 1 < columns.size() : colIdx > 0; - const bool COL_NOT_RIGHT = controller->isReversed() ? colIdx > 0 : colIdx + 1 < columns.size(); const bool TARGET_NOT_TOP = controller->isReversed() ? targetIdx + 1 < columns[colIdx]->targetDatas.size() : targetIdx > 0; const bool TARGET_NOT_BOTTOM = controller->isReversed() ? targetIdx > 0 : targetIdx + 1 < columns[colIdx]->targetDatas.size(); - const bool GAP_LEFT = PRIMARY_HORIZ ? COL_NOT_LEFT : TARGET_NOT_TOP; - const bool GAP_RIGHT = PRIMARY_HORIZ ? COL_NOT_RIGHT : TARGET_NOT_BOTTOM; - const bool GAP_TOP = PRIMARY_HORIZ ? TARGET_NOT_TOP : COL_NOT_LEFT; - const bool GAP_BOTTOM = PRIMARY_HORIZ ? TARGET_NOT_BOTTOM : COL_NOT_RIGHT; + const bool GAP_LEFT = PRIMARY_HORIZ || TARGET_NOT_TOP; + const bool GAP_RIGHT = PRIMARY_HORIZ || TARGET_NOT_BOTTOM; + const bool GAP_TOP = !PRIMARY_HORIZ || TARGET_NOT_TOP; + const bool GAP_BOTTOM = !PRIMARY_HORIZ || TARGET_NOT_BOTTOM; const auto GAPOFFSETTOPLEFT = Vector2D(sc(GAP_LEFT ? GAPSIN.m_left : 0), sc(GAP_TOP ? GAPSIN.m_top : 0)); const auto GAPOFFSETBOTTOMRIGHT = Vector2D(sc(GAP_RIGHT ? GAPSIN.m_right : 0), sc(GAP_BOTTOM ? GAPSIN.m_bottom : 0)); From ebabc023481c9203b1a899f4da07b6ad8f21396e Mon Sep 17 00:00:00 2001 From: erstarr <253168930+erstarr@users.noreply.github.com> Date: Wed, 21 Oct 2026 18:57:43 +0200 Subject: [PATCH 2/8] spelling fixes --- hyprtester/src/tests/main/scroll.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hyprtester/src/tests/main/scroll.cpp b/hyprtester/src/tests/main/scroll.cpp index 6f402e7e853..98066b0ad4c 100644 --- a/hyprtester/src/tests/main/scroll.cpp +++ b/hyprtester/src/tests/main/scroll.cpp @@ -1335,9 +1335,9 @@ TEST_CASE(scroll_LAYOUT_HANDLED_focusInDirectionFocusFollowFocusTrue) { // if movefocus_cycles_fullscreen = false, all focus({direction}) is disallowed from moving focus from FS window - // if movefocus_cycles_fullscreen = true, standard behaviour of the config option won't be followed but focus will move in the firection specified as if window was not FS + // if movefocus_cycles_fullscreen = true, standard behaviour of the config option won't be followed but focus will move in the direction specified as if window was not FS // if on_focus_under_fullscreen = 0 focus({direction}) is disallowed from moving focus from FS window - // if on_focus_under_fullscreen = 1/2, standard behaviour of the config option won't be followed but focus will move in the firection specified as if window was not FS + // if on_focus_under_fullscreen = 1/2, standard behaviour of the config option won't be followed but focus will move in the direction specified as if window was not FS OK(getFromSocket("/eval hl.config({ general = { layout = 'scrolling' } })")); @@ -1427,7 +1427,7 @@ TEST_CASE(scroll_LAYOUT_HANDLED_focusInDirectionFocusFollowFocusTrue) { EXPECT_CONTAINS(str, "fullscreenClient: 2"); } - // if movefocus_cycles_fullscreen = true, standard behaviour of the config option won't be followed but focus will move in the firection specified as if window was not FS + // if movefocus_cycles_fullscreen = true, standard behaviour of the config option won't be followed but focus will move in the direction specified as if window was not FS OK(getFromSocket("r/eval hl.config({ binds = { movefocus_cycles_fullscreen = true } })")); From 38f0a2cb885a4c036da1c3a6e327c9ea59f0ecb6 Mon Sep 17 00:00:00 2001 From: erstarr <253168930+erstarr@users.noreply.github.com> Date: Wed, 21 Oct 2026 19:36:04 +0200 Subject: [PATCH 3/8] all roads lead to setOffset() --- src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp b/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp index 5d32ea5f804..7b0675c710f 100644 --- a/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp +++ b/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp @@ -47,9 +47,7 @@ void CScrollTapeController::setOffset(double offset) { } void CScrollTapeController::adjustOffset(double delta) { - if (getScrollInhibitor().isInhibited) - return; - m_offset += delta; + setOffset(m_offset+delta); } double CScrollTapeController::getOffset() const { From 18b4083b8219cf56e3f046d414dcf235dde0b0d2 Mon Sep 17 00:00:00 2001 From: erstarr <253168930+erstarr@users.noreply.github.com> Date: Wed, 21 Oct 2026 19:39:59 +0200 Subject: [PATCH 4/8] TEST - no need to call activewindow redundantly --- hyprtester/src/tests/main/scroll.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hyprtester/src/tests/main/scroll.cpp b/hyprtester/src/tests/main/scroll.cpp index 98066b0ad4c..a5f5ce8ed33 100644 --- a/hyprtester/src/tests/main/scroll.cpp +++ b/hyprtester/src/tests/main/scroll.cpp @@ -1485,7 +1485,7 @@ TEST_CASE(scroll_LAYOUT_HANDLED_focusInDirectionFocusFollowFocusTrue) { EXPECT_CONTAINS(str, "class: normal1"); EXPECT_CONTAINS(str, "fullscreen: 0"); EXPECT_CONTAINS(str, "fullscreenClient: 0"); - EXPECT_CONTAINS(Tests::getAttribute(getFromSocket("/activewindow"), "at"), "22,22"); + EXPECT_CONTAINS(Tests::getAttribute(str, "at"), "22,22"); } OK(getFromSocket("/dispatch hl.dsp.focus({ direction = 'right' })")); @@ -1494,7 +1494,7 @@ TEST_CASE(scroll_LAYOUT_HANDLED_focusInDirectionFocusFollowFocusTrue) { EXPECT_CONTAINS(str, "class: fs"); EXPECT_CONTAINS(str, "fullscreen: 2"); EXPECT_CONTAINS(str, "fullscreenClient: 2"); - EXPECT_CONTAINS(Tests::getAttribute(getFromSocket("/activewindow"), "at"), "0,0"); + EXPECT_CONTAINS(Tests::getAttribute(str, "at"), "0,0"); } // on_focus_under_fullscreen = 2 - Won't dispel FS, but will simply switch to that window (viewport moves if follow_focus = true) @@ -1506,7 +1506,7 @@ TEST_CASE(scroll_LAYOUT_HANDLED_focusInDirectionFocusFollowFocusTrue) { EXPECT_CONTAINS(str, "class: normal1"); EXPECT_CONTAINS(str, "fullscreen: 0"); EXPECT_CONTAINS(str, "fullscreenClient: 0"); - EXPECT_CONTAINS(Tests::getAttribute(getFromSocket("/activewindow"), "at"), "22,22"); + EXPECT_CONTAINS(Tests::getAttribute(str, "at"), "22,22"); } OK(getFromSocket("/dispatch hl.dsp.focus({ direction = 'right' })")); @@ -1515,7 +1515,7 @@ TEST_CASE(scroll_LAYOUT_HANDLED_focusInDirectionFocusFollowFocusTrue) { EXPECT_CONTAINS(str, "class: fs"); EXPECT_CONTAINS(str, "fullscreen: 2"); EXPECT_CONTAINS(str, "fullscreenClient: 2"); - EXPECT_CONTAINS(Tests::getAttribute(getFromSocket("/activewindow"), "at"), "0,0"); + EXPECT_CONTAINS(Tests::getAttribute(str, "at"), "0,0"); } } From 6c7d5604467880c1945c70bca96d679b0e451326 Mon Sep 17 00:00:00 2001 From: erstarr <253168930+erstarr@users.noreply.github.com> Date: Wed, 21 Oct 2026 20:13:31 +0200 Subject: [PATCH 5/8] redundant --- hyprtester/src/tests/main/scroll.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/hyprtester/src/tests/main/scroll.cpp b/hyprtester/src/tests/main/scroll.cpp index a5f5ce8ed33..c309a61f218 100644 --- a/hyprtester/src/tests/main/scroll.cpp +++ b/hyprtester/src/tests/main/scroll.cpp @@ -1431,9 +1431,6 @@ TEST_CASE(scroll_LAYOUT_HANDLED_focusInDirectionFocusFollowFocusTrue) { OK(getFromSocket("r/eval hl.config({ binds = { movefocus_cycles_fullscreen = true } })")); - OK(getFromSocket("/dispatch hl.dsp.focus({ window = 'class:fs' })")); - OK(getFromSocket("/dispatch hl.dsp.window.fullscreen({ mode = 'fullscreen', action = 'set', window = 'class:fs' })")); - // on_focus_under_fullscreen = 0 OK(getFromSocket("r/eval hl.config({ misc = { on_focus_under_fullscreen = 0 } })")); From 469c886010c0c76281678fef40c8dabb3f7ef387 Mon Sep 17 00:00:00 2001 From: erstarr <253168930+erstarr@users.noreply.github.com> Date: Wed, 21 Oct 2026 21:23:05 +0200 Subject: [PATCH 6/8] many test fixes - mainly 2,2 -> 7,2 --- hyprtester/src/tests/main/scroll.cpp | 7 ++++--- hyprtester/src/tests/main/window.cpp | 14 +++++++------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/hyprtester/src/tests/main/scroll.cpp b/hyprtester/src/tests/main/scroll.cpp index c309a61f218..60228cff112 100644 --- a/hyprtester/src/tests/main/scroll.cpp +++ b/hyprtester/src/tests/main/scroll.cpp @@ -1482,7 +1482,7 @@ TEST_CASE(scroll_LAYOUT_HANDLED_focusInDirectionFocusFollowFocusTrue) { EXPECT_CONTAINS(str, "class: normal1"); EXPECT_CONTAINS(str, "fullscreen: 0"); EXPECT_CONTAINS(str, "fullscreenClient: 0"); - EXPECT_CONTAINS(Tests::getAttribute(str, "at"), "22,22"); + EXPECT_CONTAINS(Tests::getAttribute(str, "at"), "27,22"); } OK(getFromSocket("/dispatch hl.dsp.focus({ direction = 'right' })")); @@ -1503,7 +1503,7 @@ TEST_CASE(scroll_LAYOUT_HANDLED_focusInDirectionFocusFollowFocusTrue) { EXPECT_CONTAINS(str, "class: normal1"); EXPECT_CONTAINS(str, "fullscreen: 0"); EXPECT_CONTAINS(str, "fullscreenClient: 0"); - EXPECT_CONTAINS(Tests::getAttribute(str, "at"), "22,22"); + EXPECT_CONTAINS(Tests::getAttribute(str, "at"), "27,22"); } OK(getFromSocket("/dispatch hl.dsp.focus({ direction = 'right' })")); @@ -2453,6 +2453,7 @@ TEST_CASE(scroll_DEFAULT_HANDLED_posAndSizeSyncWhileFS) { SPAWN_KITTY("kot"); ASSERT(spawnLayer("top-bar", {"--edge=top", "--layer=overlay", "--lines=48px", "--focus-policy=not-allowed"}), true); + Tests::waitUntilLayersN(1); OK(getFromSocket("/dispatch hl.dsp.window.fullscreen({ mode = 'maximized', window = 'class:kot', layout_aware = false, })")); { @@ -3432,7 +3433,7 @@ TEST_CASE(layoutmsg_fit_into_view) { // If it worked, class:a window must now have at: ~= 0,0 -- 0,0 + gaps, border = 22,22. - ASSERT_CONTAINS(Tests::getAttribute(getFromSocket("/activewindow"), "at"), "22,22"); + ASSERT_CONTAINS(Tests::getAttribute(getFromSocket("/activewindow"), "at"), "27,22"); } TEST_CASE(layoutRuleExpand) { diff --git a/hyprtester/src/tests/main/window.cpp b/hyprtester/src/tests/main/window.cpp index 68ca5d0f150..bf3684e6857 100644 --- a/hyprtester/src/tests/main/window.cpp +++ b/hyprtester/src/tests/main/window.cpp @@ -1834,7 +1834,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.window.move({ workspace = '4' })")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 2,2"); + ASSERT_CONTAINS(str, "at: 7,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -1862,7 +1862,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.focus({ workspace = 4 })")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 2,2"); + ASSERT_CONTAINS(str, "at: 7,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -1948,7 +1948,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { // scroll { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 2,2"); + ASSERT_CONTAINS(str, "at: 7,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -1960,7 +1960,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.window.move({ workspace = '5' })")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 2,2"); + ASSERT_CONTAINS(str, "at: 7,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 5"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -1988,7 +1988,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.focus({ workspace = 4 })")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 2,2"); + ASSERT_CONTAINS(str, "at: 7,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -2087,7 +2087,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.window.fullscreen({mode = 'maximized'})")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 2,2"); + ASSERT_CONTAINS(str, "at: 7,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -2101,7 +2101,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.focus({ workspace = 5 })")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 2,2"); + ASSERT_CONTAINS(str, "at: 7,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 5"); ASSERT_CONTAINS(str, "fullscreen: 1"); From b0df9859497297333edac6dc3dcdc0b762fb2539 Mon Sep 17 00:00:00 2001 From: erstarr <253168930+erstarr@users.noreply.github.com> Date: Wed, 21 Oct 2026 21:59:36 +0200 Subject: [PATCH 7/8] format --- src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp b/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp index 7b0675c710f..36ca95cd5fa 100644 --- a/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp +++ b/src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp @@ -47,7 +47,7 @@ void CScrollTapeController::setOffset(double offset) { } void CScrollTapeController::adjustOffset(double delta) { - setOffset(m_offset+delta); + setOffset(m_offset + delta); } double CScrollTapeController::getOffset() const { From 222eb1e4c1d91c5dedb0b7ca62928897d6c7485c Mon Sep 17 00:00:00 2001 From: erstarr <253168930+erstarr@users.noreply.github.com> Date: Wed, 21 Oct 2026 22:44:57 +0200 Subject: [PATCH 8/8] oopsie - overcorrection --- hyprtester/src/tests/main/window.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/hyprtester/src/tests/main/window.cpp b/hyprtester/src/tests/main/window.cpp index bf3684e6857..ceaac694905 100644 --- a/hyprtester/src/tests/main/window.cpp +++ b/hyprtester/src/tests/main/window.cpp @@ -1834,7 +1834,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.window.move({ workspace = '4' })")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 7,2"); + ASSERT_CONTAINS(str, "at: 2,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -1862,7 +1862,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.focus({ workspace = 4 })")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 7,2"); + ASSERT_CONTAINS(str, "at: 2,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -1949,7 +1949,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { { const auto str = getFromSocket("/activewindow"); ASSERT_CONTAINS(str, "at: 7,2"); - ASSERT_CONTAINS(str, "size: 1916,1076"); + ASSERT_CONTAINS(str, "size: 1906,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); ASSERT_CONTAINS(str, "fullscreenClient: 1"); @@ -1961,7 +1961,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { { const auto str = getFromSocket("/activewindow"); ASSERT_CONTAINS(str, "at: 7,2"); - ASSERT_CONTAINS(str, "size: 1916,1076"); + ASSERT_CONTAINS(str, "size: 1906,1076"); ASSERT_CONTAINS(str, "workspace: 5"); ASSERT_CONTAINS(str, "fullscreen: 1"); ASSERT_CONTAINS(str, "fullscreenClient: 1"); @@ -1988,7 +1988,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.focus({ workspace = 4 })")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 7,2"); + ASSERT_CONTAINS(str, "at: 2,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -2087,7 +2087,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.window.fullscreen({mode = 'maximized'})")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 7,2"); + ASSERT_CONTAINS(str, "at: 2,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 4"); ASSERT_CONTAINS(str, "fullscreen: 1"); @@ -2101,7 +2101,7 @@ TEST_CASE(sendFsWindowToAnotherWorkspace) { OK(getFromSocket("/dispatch hl.dsp.focus({ workspace = 5 })")); { const auto str = getFromSocket("/activewindow"); - ASSERT_CONTAINS(str, "at: 7,2"); + ASSERT_CONTAINS(str, "at: 2,2"); ASSERT_CONTAINS(str, "size: 1916,1076"); ASSERT_CONTAINS(str, "workspace: 5"); ASSERT_CONTAINS(str, "fullscreen: 1");