mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21:10 +00:00
Using the alternative screen (smcup/rmcup) should also preserve the current
colours and attributes. Found thanks to a report from Taylor Venable. While here also nuke a couple of extra blank lines.
This commit is contained in:
8
input.c
8
input.c
@ -1189,7 +1189,9 @@ input_handle_sequence_sm(struct input_ctx *ictx)
|
||||
wp->saved_grid, 0, s->grid, screen_hsize(s), sy);
|
||||
wp->saved_cx = s->cx;
|
||||
wp->saved_cy = s->cy;
|
||||
|
||||
memcpy(&wp->saved_cell,
|
||||
&ictx->cell, sizeof wp->saved_cell);
|
||||
|
||||
grid_view_clear(s->grid, 0, 0, sx, sy);
|
||||
|
||||
wp->base.grid->flags &= ~GRID_HISTORY;
|
||||
@ -1261,7 +1263,7 @@ input_handle_sequence_rm(struct input_ctx *ictx)
|
||||
if (sy > wp->saved_grid->sy)
|
||||
screen_resize(s, sx, wp->saved_grid->sy);
|
||||
|
||||
/* Restore the grid and cursor position. */
|
||||
/* Restore the grid, cursor position and cell. */
|
||||
grid_duplicate_lines(
|
||||
s->grid, screen_hsize(s), wp->saved_grid, 0, sy);
|
||||
s->cx = wp->saved_cx;
|
||||
@ -1270,6 +1272,7 @@ input_handle_sequence_rm(struct input_ctx *ictx)
|
||||
s->cy = wp->saved_cy;
|
||||
if (s->cy > screen_size_y(s) - 1)
|
||||
s->cy = screen_size_y(s) - 1;
|
||||
memcpy(&ictx->cell, &wp->saved_cell, sizeof ictx->cell);
|
||||
|
||||
/*
|
||||
* Turn history back on (so resize can use it) and then
|
||||
@ -1326,7 +1329,6 @@ input_handle_sequence_dsr(struct input_ctx *ictx)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user