aboutsummaryrefslogtreecommitdiff
path: root/screen-write.c
diff options
context:
space:
mode:
Diffstat (limited to 'screen-write.c')
-rw-r--r--screen-write.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/screen-write.c b/screen-write.c
index 3e836938..ae89293b 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -56,7 +56,7 @@ screen_write_reset(struct screen_write_ctx *ctx)
screen_reset_tabs(s);
screen_write_scrollregion(ctx, 0, screen_size_y(s) - 1);
- s->mode &= ~(MODE_INSERT|MODE_KCURSOR|MODE_KKEYPAD);
+ s->mode &= ~(MODE_INSERT|MODE_KCURSOR|MODE_KKEYPAD|MODE_FOCUSON);
s->mode &= ~(ALL_MOUSE_MODES|MODE_MOUSE_UTF8|MODE_MOUSE_SGR);
screen_write_clearscreen(ctx);
@@ -488,6 +488,8 @@ screen_write_cursorup(struct screen_write_ctx *ctx, u_int ny)
if (ny > s->cy - s->rupper)
ny = s->cy - s->rupper;
}
+ if (s->cx == screen_size_x(s))
+ s->cx--;
if (ny == 0)
return;
@@ -512,6 +514,8 @@ screen_write_cursordown(struct screen_write_ctx *ctx, u_int ny)
if (ny > s->rlower - s->cy)
ny = s->rlower - s->cy;
}
+ if (s->cx == screen_size_x(s))
+ s->cx--;
if (ny == 0)
return;