aboutsummaryrefslogtreecommitdiffstats
path: root/src/terminal.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/terminal.c')
-rw-r--r--src/terminal.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/terminal.c b/src/terminal.c
index 9a3290e..d0cde99 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -10,6 +10,9 @@ static char rcsid[] = "$Id$";
/*
* $Log$
+ * Revision 1.10 2008/02/26 23:23:17 james
+ * *** empty log message ***
+ *
* Revision 1.9 2008/02/15 03:32:07 james
* *** empty log message ***
*
@@ -97,11 +100,15 @@ terminal_close (TTY * _t)
set_nonblocking (t->wfd);
- t->xmit (_t, "\033[r", 3);
- t->xmit (_t, "\033[0m", 4);
- i = sprintf (buf, "\033[%d;%dH", CRT_ROWS + 1, 1);
+ t->xmit (_t,"\033%@",3); //Leave UTF-8
+ t->xmit (_t,"\033(B",3); //US-ASCII in G0
+ t->xmit (_t,"\033)B",3); //US-ASCII in G1
+ t->xmit (_t,"\017",1); //Select G0
+ t->xmit (_t, "\033[r", 3); //No margins
+ t->xmit (_t, "\033[0m", 4); //Default attributes
+ i = sprintf (buf, "\033[%d;%dH", CRT_ROWS + 1, 1); //Cursor to bottom
t->xmit (_t, buf, i);
- t->xmit (_t, "\033[J", 3);
+ t->xmit (_t, "\033[J", 3); //erase rest of screen
set_blocking (t->rfd);
set_blocking (t->wfd);