Jelajahi Sumber

Add MC for the full screen

This sequence is very useful because allows comunicate the content
of the terminal to another program.
Roberto E. Vargas Caballero 11 tahun lalu
induk
melakukan
6166a1afc8
1 mengubah file dengan 11 tambahan dan 0 penghapusan
  1. 11 0
      st.c

+ 11 - 0
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;