Add MC for the full screen
authorRoberto E. Vargas Caballero <k0ga@shike2.com>
Fri, 31 Jan 2014 21:25:51 +0000 (22:25 +0100)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Thu, 6 Mar 2014 06:51:58 +0000 (07:51 +0100)
This sequence is very useful because allows comunicate the content
of the terminal to another program.

st.c

diff --git a/st.c b/st.c
index e60643c..1711842 100644 (file)
--- 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;