Add MC for the full screen

This sequence is very useful because allows comunicate the content
of the terminal to another program.
dev
Roberto E. Vargas Caballero 2014-01-31 22:25:51 +01:00
parent cf332a325d
commit 6166a1afc8
1 changed files with 11 additions and 0 deletions

11
st.c
View File

@ -358,6 +358,7 @@ static void strreset(void);
static int tattrset(int); static int tattrset(int);
static void tprinter(char *s, size_t len); static void tprinter(char *s, size_t len);
static void tdumpline(int); static void tdumpline(int);
static void tdump(void);
static void tclearregion(int, int, int, int); static void tclearregion(int, int, int, int);
static void tcursor(int); static void tcursor(int);
static void tdeletechar(int); static void tdeletechar(int);
@ -1986,6 +1987,8 @@ csihandle(void) {
case 'i': /* MC -- Media Copy */ case 'i': /* MC -- Media Copy */
switch(csiescseq.arg[0]) { switch(csiescseq.arg[0]) {
case 0: case 0:
tdump();
break;
case 1: case 1:
tdumpline(term.c.y); tdumpline(term.c.y);
break; break;
@ -2294,6 +2297,14 @@ tdumpline(int n) {
tprinter("\n", 1); tprinter("\n", 1);
} }
void
tdump(void) {
int i;
for(i = 0; i < term.row; ++i)
tdumpline(i);
}
void void
tputtab(bool forward) { tputtab(bool forward) {
uint x = term.c.x; uint x = term.c.x;