summaryrefslogtreecommitdiffstats
path: root/input.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2009-10-15 01:53:48 +0000
committerTiago Cunha <tcunha@gmx.com>2009-10-15 01:53:48 +0000
commitee46dba585cbd38ff90344b311a71ca6cf8cadc5 (patch)
tree8111ccc58c7d7a7c5f0bf9a0e4302928276a0533 /input.c
parenta505ca69d9417257d2fe0c47376a0e21833802c2 (diff)
Sync OpenBSD patchset 408:
Handle DECCOLM by just emulating its side-effect of clearing the screen.
Diffstat (limited to 'input.c')
-rw-r--r--input.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/input.c b/input.c
index 9bee4b77..70af50c0 100644
--- a/input.c
+++ b/input.c
@@ -1,4 +1,4 @@
-/* $Id: input.c,v 1.96 2009-10-15 01:39:30 tcunha Exp $ */
+/* $Id: input.c,v 1.97 2009-10-15 01:53:48 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -1185,6 +1185,10 @@ input_handle_sequence_sm(struct input_ctx *ictx)
screen_write_kcursormode(&ictx->ctx, 1);
log_debug("kcursor on");
break;
+ case 3: /* DECCOLM */
+ screen_write_cursormove(&ictx->ctx, 0, 0);
+ screen_write_clearscreen(&ictx->ctx);
+ break;
case 25: /* TCEM */
screen_write_cursormode(&ictx->ctx, 1);
log_debug("cursor on");
@@ -1257,6 +1261,10 @@ input_handle_sequence_rm(struct input_ctx *ictx)
screen_write_kcursormode(&ictx->ctx, 0);
log_debug("kcursor off");
break;
+ case 3: /* DECCOLM */
+ screen_write_cursormove(&ictx->ctx, 0, 0);
+ screen_write_clearscreen(&ictx->ctx);
+ break;
case 25: /* TCEM */
screen_write_cursormode(&ictx->ctx, 0);
log_debug("cursor off");