mirror of
https://github.com/tmux/tmux.git
synced 2025-04-13 14:58:50 +00:00
Use EL1 to clear lines when redrawing the leftmost pane, rather than
spaces.
This commit is contained in:
parent
94b71bcb64
commit
54bcaab70e
15
tty.c
15
tty.c
@ -693,10 +693,11 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
|
|||||||
{
|
{
|
||||||
struct grid_cell gc, last;
|
struct grid_cell gc, last;
|
||||||
u_int i, j, sx, width;
|
u_int i, j, sx, width;
|
||||||
int flags = (tty->flags & TTY_NOCURSOR);
|
int flags, cleared = 0;
|
||||||
char buf[512];
|
char buf[512];
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
|
flags = (tty->flags & TTY_NOCURSOR);
|
||||||
tty->flags |= TTY_NOCURSOR;
|
tty->flags |= TTY_NOCURSOR;
|
||||||
tty_update_mode(tty, tty->mode, s);
|
tty_update_mode(tty, tty->mode, s);
|
||||||
|
|
||||||
@ -709,6 +710,16 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
|
|||||||
if (sx > tty->sx)
|
if (sx > tty->sx)
|
||||||
sx = tty->sx;
|
sx = tty->sx;
|
||||||
|
|
||||||
|
if (screen_size_x(s) < tty->sx &&
|
||||||
|
ox == 0 &&
|
||||||
|
sx != screen_size_x(s) &&
|
||||||
|
tty_term_has(tty->term, TTYC_EL1) &&
|
||||||
|
!tty_fake_bce(tty, wp, 8)) {
|
||||||
|
tty_default_attributes(tty, wp, 8);
|
||||||
|
tty_cursor(tty, screen_size_x(s) - 1, oy + py);
|
||||||
|
tty_putcode(tty, TTYC_EL1);
|
||||||
|
cleared = 1;
|
||||||
|
}
|
||||||
tty_cursor(tty, ox, oy + py);
|
tty_cursor(tty, ox, oy + py);
|
||||||
|
|
||||||
memcpy(&last, &grid_default_cell, sizeof last);
|
memcpy(&last, &grid_default_cell, sizeof last);
|
||||||
@ -763,7 +774,7 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
|
|||||||
tty_putn(tty, buf, len, width);
|
tty_putn(tty, buf, len, width);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sx < tty->sx) {
|
if (!cleared && sx < tty->sx) {
|
||||||
tty_default_attributes(tty, wp, 8);
|
tty_default_attributes(tty, wp, 8);
|
||||||
|
|
||||||
tty_cursor(tty, ox + sx, oy + py);
|
tty_cursor(tty, ox + sx, oy + py);
|
||||||
|
Loading…
Reference in New Issue
Block a user