mirror of
https://github.com/tmate-io/tmate-ssh-server.git
synced 2020-11-18 19:53:51 -08:00
Always move the cursor position on !xenl terminals, since there is no invisible
last cursor position. Also nuke an unused variable.
This commit is contained in:
parent
fe26b5d25f
commit
daa26079ee
@ -990,7 +990,7 @@ screen_write_cell(
|
|||||||
struct tty_ctx ttyctx;
|
struct tty_ctx ttyctx;
|
||||||
struct grid_utf8 gu, *tmp_gu;
|
struct grid_utf8 gu, *tmp_gu;
|
||||||
u_int width, xx, i;
|
u_int width, xx, i;
|
||||||
struct grid_cell tmp_gc, tmp_gc2, *tmp_gcp;
|
struct grid_cell tmp_gc, *tmp_gcp;
|
||||||
int insert = 0;
|
int insert = 0;
|
||||||
|
|
||||||
/* Ignore padding. */
|
/* Ignore padding. */
|
||||||
@ -1101,13 +1101,13 @@ screen_write_cell(
|
|||||||
}
|
}
|
||||||
ttyctx.utf8 = &gu;
|
ttyctx.utf8 = &gu;
|
||||||
if (screen_check_selection(s, s->cx - width, s->cy)) {
|
if (screen_check_selection(s, s->cx - width, s->cy)) {
|
||||||
memcpy(&tmp_gc2, &s->sel.cell, sizeof tmp_gc2);
|
memcpy(&tmp_gc, &s->sel.cell, sizeof tmp_gc);
|
||||||
tmp_gc2.data = gc->data;
|
tmp_gc.data = gc->data;
|
||||||
tmp_gc2.flags = gc->flags &
|
tmp_gc.flags = gc->flags &
|
||||||
~(GRID_FLAG_FG256|GRID_FLAG_BG256);
|
~(GRID_FLAG_FG256|GRID_FLAG_BG256);
|
||||||
tmp_gc2.flags |= s->sel.cell.flags &
|
tmp_gc.flags |= s->sel.cell.flags &
|
||||||
(GRID_FLAG_FG256|GRID_FLAG_BG256);
|
(GRID_FLAG_FG256|GRID_FLAG_BG256);
|
||||||
ttyctx.cell = &tmp_gc2;
|
ttyctx.cell = &tmp_gc;
|
||||||
tty_write(tty_cmd_cell, &ttyctx);
|
tty_write(tty_cmd_cell, &ttyctx);
|
||||||
} else {
|
} else {
|
||||||
ttyctx.cell = gc;
|
ttyctx.cell = gc;
|
||||||
|
3
tty.c
3
tty.c
@ -850,7 +850,8 @@ tty_cmd_cell(struct tty *tty, const struct tty_ctx *ctx)
|
|||||||
* Should the cursor be in the last cursor position ready for a natural
|
* Should the cursor be in the last cursor position ready for a natural
|
||||||
* wrap? If so - and it isn't - move to and rewrite the last cell.
|
* wrap? If so - and it isn't - move to and rewrite the last cell.
|
||||||
*/
|
*/
|
||||||
if (ctx->ocx + wp->xoff > tty->sx - ctx->last_width) {
|
if (!(tty->term->flags & TERM_EARLYWRAP) &&
|
||||||
|
ctx->ocx + wp->xoff > tty->sx - ctx->last_width) {
|
||||||
if (tty->cx < tty->sx) {
|
if (tty->cx < tty->sx) {
|
||||||
cx = screen_size_x(s) - ctx->last_width;
|
cx = screen_size_x(s) - ctx->last_width;
|
||||||
tty_cursor_pane(tty, ctx, cx, ctx->ocy);
|
tty_cursor_pane(tty, ctx, cx, ctx->ocy);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user