aboutsummaryrefslogtreecommitdiff
path: root/st.c
diff options
context:
space:
mode:
authorRoberto E. Vargas Caballero <k0ga@shike2.com>2012-10-06 19:13:36 +0200
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2012-10-06 19:13:36 +0200
commit506b8ea0c675e6154aa2b9bdb6e6623a3be09c8c (patch)
tree6bbfca2f1768a6b5d42fa42d97c948343583296e /st.c
parent3fce3392ac04283ff1bf00647af943ce47d9bc94 (diff)
downloadst-506b8ea0c675e6154aa2b9bdb6e6623a3be09c8c.tar.gz
st-506b8ea0c675e6154aa2b9bdb6e6623a3be09c8c.tar.bz2
Add SI and SO control codes
SI and SO allows change the G0 and G1 selection. This implementation is not full vt100 compatible, but it is complatible with linux virtual terminal implementation. For full vt100 compatibility we need remake a lot of stuff relate to the different charmaps. --- st.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
Diffstat (limited to 'st.c')
-rw-r--r--st.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/st.c b/st.c
index 8e25d23..ba6973a 100644
--- a/st.c
+++ b/st.c
@@ -1814,9 +1814,12 @@ tputc(char *c, int len) {
csireset();
term.esc = ESC_START;
return;
- case '\016': /* XXX: SO */
- case '\017': /* XXX: SI */
+ 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();