mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-23 00:23:08 +01:00
Be less aggressive about turning the cursor off, only explicitly turn it off
when tmux is redrawing, otherwise leave in the state set by the application.
This commit is contained in:
parent
2cb2bb8257
commit
d528184836
8
tty.c
8
tty.c
@ -524,6 +524,8 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
|
||||
const struct grid_utf8 *gu;
|
||||
u_int i, sx;
|
||||
|
||||
tty_update_mode(tty, tty->mode & ~MODE_CURSOR);
|
||||
|
||||
sx = screen_size_x(s);
|
||||
if (sx > s->grid->linedata[s->grid->hsize + py].cellsize)
|
||||
sx = s->grid->linedata[s->grid->hsize + py].cellsize;
|
||||
@ -548,8 +550,10 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
|
||||
tty_cell(tty, gc, gu);
|
||||
}
|
||||
|
||||
if (sx >= tty->sx)
|
||||
if (sx >= tty->sx) {
|
||||
tty_update_mode(tty, tty->mode);
|
||||
return;
|
||||
}
|
||||
tty_reset(tty);
|
||||
|
||||
tty_cursor(tty, sx, py, ox, oy);
|
||||
@ -559,6 +563,7 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
|
||||
for (i = sx; i < screen_size_x(s); i++)
|
||||
tty_putc(tty, ' ');
|
||||
}
|
||||
tty_update_mode(tty, tty->mode);
|
||||
}
|
||||
|
||||
void
|
||||
@ -587,7 +592,6 @@ tty_write(void (*cmdfn)(
|
||||
if (c->session->curw->window == wp->window) {
|
||||
if (c->tty.flags & TTY_FREEZE || c->tty.term == NULL)
|
||||
continue;
|
||||
tty_update_mode(&c->tty, c->tty.mode & ~MODE_CURSOR);
|
||||
cmdfn(&c->tty, ctx);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user