From 6b5fb5613d919b8fea13e87f52281c8c970f6f3f Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Mon, 28 May 2012 18:09:12 +0200 Subject: [PATCH] vte: implement DECSCL 'p' CSI DECSCL is used to select compatibility modes. We do not support the VT100 compatibility mode explicitely or the VT220 mode, however, we always send 7-bit control characters and support escape sequences from both series so we can safely ignore DECSCL. Signed-off-by: David Herrmann --- src/vte.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/vte.c b/src/vte.c index 6c86495..4dff665 100644 --- a/src/vte.c +++ b/src/vte.c @@ -518,6 +518,23 @@ static void do_csi(struct kmscon_vte *vte, uint32_t data) } } break; + case 'p': /* DECSCL: Compatibility Level */ + if (vte->csi_argv[0] == 61) { + /* Switching to VT100 compatibility mode. We do + * not support this mode, so ignore it. In fact, + * we are almost compatible to it, anyway, so + * there is no need to explicitely select it. */ + } else if (vte->csi_argv[0] == 62) { + /* Switching to VT220 compatibility mode. We are + * always compatible with this so ignore it. + * We always send 7bit controls so we also do + * not care for the parameter value here that + * select the control-mode. */ + } else { + log_debug("unhandled DECSCL 'p' CSI %i", + vte->csi_argv[0]); + } + break; default: log_debug("unhandled CSI sequence %c", data); }