st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit b6cfff16254bb9014f27ff4c5c9e49953ee91735
parent 21a0c4a2e08ede1d04c472497db7d9aef644d00c
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Mon, 24 Sep 2012 10:26:50 +0200

Clear X window in tsetreset()

tsetreset() is called when it is necessary a full initialization of the
terminal, so it also should clean the full X window and not only the
terminal content. It is necessary change the order of the
initialization in main(), and put xinit before of tnew(), because tnew()
calls to tsetreset(), and  this can cause a call to xreset() with
incorrect values.
---
 st.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Diffstat:
Mst.c | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/st.c b/st.c
@@ -952,6 +952,7 @@ treset(void) {
         term.tabs[i] = 1;
     term.top = 0, term.bot = term.row - 1;
     term.mode = MODE_WRAP;
+    xclear(0, 0, xw.w, xw.h);
     tclearregion(0, 0, term.col-1, term.row-1);
 }
 
@@ -2433,9 +2434,9 @@ main(int argc, char *argv[]) {
 
  run:
     setlocale(LC_CTYPE, "");
+    xinit();
     tnew(80, 24);
     ttynew();
-    xinit();
     selinit();
     run();
     return 0;