commit 6166a1afc8c7875ce9ba62e5001040014269a26d
parent cf332a325dafe7e9ed6d87df9dcec29149c5042c
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Fri, 31 Jan 2014 22:25:51 +0100
Add MC for the full screen
This sequence is very useful because allows comunicate the content
of the terminal to another program.
Diffstat:
1 file changed, 11 insertions(+), 0 deletions(-)
diff --git a/st.c b/st.c
@@ -358,6 +358,7 @@ static void strreset(void);
 static int tattrset(int);
 static void tprinter(char *s, size_t len);
 static void tdumpline(int);
+static void tdump(void);
 static void tclearregion(int, int, int, int);
 static void tcursor(int);
 static void tdeletechar(int);
@@ -1986,6 +1987,8 @@ csihandle(void) {
 	case 'i': /* MC -- Media Copy */
 		switch(csiescseq.arg[0]) {
 		case 0:
+			tdump();
+			break;
 		case 1:
 			tdumpline(term.c.y);
 			break;
@@ -2295,6 +2298,14 @@ tdumpline(int n) {
 }
 
 void
+tdump(void) {
+	int i;
+
+	for(i = 0; i < term.row; ++i)
+		tdumpline(i);
+}
+
+void
 tputtab(bool forward) {
 	uint x = term.c.x;