diff --git a/hyprtester/src/tests/main/scroll.cpp b/hyprtester/src/tests/main/scroll.cpp index 63b21dc969a..0c3c24df17a 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));