JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Add SI and SO control codes
[st.git] / st.c
diff --git a/st.c b/st.c
index aa5f085..ba6973a 100644 (file)
--- a/st.c
+++ b/st.c
@@ -1814,10 +1814,16 @@ tputc(char *c, int len) {
                csireset();
                term.esc = ESC_START;
                return;
-       case '\016':    /* XXX: SO */
-       case '\017':    /* XXX: SI */
-       case '\032':    /* XXX: SUB */
-       case '\030':    /* XXX: CAN */
+       case '\016':    /* SO */
+               term.c.attr.mode |= ATTR_GFX;
+               break;
+       case '\017':    /* SI */
+               term.c.attr.mode &= ~ATTR_GFX;
+               return;
+       case '\032':    /* SUB */
+       case '\030':    /* CAN */
+               csireset();
+               return;
        default:
        /* case '\005': ENQ (IGNORED) */
        /* case '\000': NUL (IGNORED) */