From 6166a1afc8c7875ce9ba62e5001040014269a26d Mon Sep 17 00:00:00 2001
From: "Roberto E. Vargas Caballero" <k0ga@shike2.com>
Date: Fri, 31 Jan 2014 22:25:51 +0100
Subject: Add MC for the full screen

This sequence is very useful because allows comunicate the content
of the terminal to another program.
---
 st.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/st.c b/st.c
index e60643c..1711842 100644
--- 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;
@@ -2294,6 +2297,14 @@ tdumpline(int n) {
 	tprinter("\n", 1);
 }
 
+void
+tdump(void) {
+	int i;
+
+	for(i = 0; i < term.row; ++i)
+		tdumpline(i);
+}
+
 void
 tputtab(bool forward) {
 	uint x = term.c.x;
-- 
cgit v1.2.3