Antoine Busque <antoinebus...@gmail.com> writes: > When compared with the existing overlap check in > `find_frame_{up,down}`, it appears that the original implementation of > the overlap test for `find_frame_{left,right}` is erroneous. Indeed, > the wrong boundaries are used, which causes issues like allowing > finding a frame in one direction, but not finding the frame when going > back in the reverse direction. > > Commands like `focus{left,right}` rely on the corresponding > `find_frame` function. The original boundaries check issue meant that, > on differently sized screens, focus could pass from one screen to the > next in one direction, but not in the other. > > The boundary checks have therefore been corrected to mirror those in > `find_frame_{up,down}`, and check for actual overlap between the > frames.
At first sight it looks right, but I could use additional eyes here. Pedro, Joseph, any opinion? Thanks, > Signed-off-by: Antoine Busque <antoinebus...@gmail.com> > --- > src/split.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/split.c b/src/split.c > index a9d69cd..98c0cda 100644 > --- a/src/split.c > +++ b/src/split.c > @@ -1046,7 +1046,7 @@ find_frame_left (rp_frame *frame) > list_for_each_entry (cur, &s->frames, node) > { > if (frame_left_abs (frame) == frame_right_abs (cur)) > - if (frame_top_abs (frame) >= frame_top_abs (cur) && > frame_top_abs (frame) < frame_bottom_abs (cur)) > + if (frame_bottom_abs (frame) >= frame_top_abs (cur) && > frame_top_abs (frame) <= frame_bottom_abs (cur)) > return cur; > } > } > @@ -1065,7 +1065,7 @@ find_frame_right (rp_frame *frame) > list_for_each_entry (cur, &s->frames, node) > { > if (frame_right_abs (frame) == frame_left_abs (cur)) > - if (frame_top_abs (frame) >= frame_top_abs (cur) && > frame_top_abs (frame) < frame_bottom_abs (cur)) > + if (frame_bottom_abs (frame) >= frame_top_abs (cur) && > frame_top_abs (frame) <= frame_bottom_abs (cur)) > return cur; > } > } -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE _______________________________________________ Ratpoison-devel mailing list Ratpoison-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/ratpoison-devel