- [X] If a pane with shift-disabled has cursor past the right edge, the
cursor gets positioned outside the window
-- [ ] when find-file dialog shifts left, it doesn't shift back until
+- [X] when find-file dialog shifts left, it doesn't shift back until
cursor is v.close to left, even when the rest of the line is blank
- [ ] line-count in make output is weird. Second line can be thousands
- [ ] Make sometimes doesn't follow output, though usually it does
}
if (m && m->mdata) {
struct pane *hp = m->mdata;
+ int cols;
int offset = call_render_line_to_point(focus,
pm, m);
measure_line(p, focus, m, offset);
curs_width = pane_attr_get_int(
m->mdata, "curs_width", 1);
- while (hp->cx + curs_width >= p->w && shifts++ < 1000) {
+ while (hp->cx + curs_width > p->w && shifts++ < 1000) {
int shift = 8 * curs_width;
if (shift > hp->cx)
shift = hp->cx;
measure_line(p, focus, m, offset);
refresh_all = 1;
}
- while (hp->cx < prefix_len &&
+ /* We shift right is cursor is off the left end, or if
+ * doing so wouldn't hide anything on the right end
+ */
+ cols = pane_attr_get_int(hp, "width", 0);
+ while ((hp->cx < prefix_len
+ || cols + curs_width * 8 + curs_width < p->w) &&
rl->shift_left > 0 &&
shifts++ < 1000 &&
hp->cx + curs_width * 8 < p->w) {
shift = rl->shift_left;
rl->shift_left -= shift;
measure_line(p, focus, m, offset);
+ cols = pane_attr_get_int(hp, "width", 0);
refresh_all = 1;
}
}
Key "-l"
Display 80,30 84B4B4327EE9B820531DCFEBD1FCD5C1 56,13
Key "-l"
-Display 80,30 64C0896B3CEBB0A1AD76140579FB823F 49,13
+Display 80,30 5E0D84660745B71B819E3107C39BCCCC 57,13
Key "-s"
Display 80,30 0BCDBE7601C6CAAE1F9AEA767CB96003 50,13
Key ":Enter"