The xinit() call needs to be behind all the tty init, otherwise all the - st - simple terminal HTML git clone https://git.parazyd.org/st DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 055a4f6d2cc727cc58509a39e130bdd8dbfa452b DIR parent e9c677816c0161a6702dabb244bd2fd918dcb0af HTML Author: Christoph Lohmann <20h@r-36.net> Date: Mon, 24 Sep 2012 11:04:26 +0200 The xinit() call needs to be behind all the tty init, otherwise all the allocated structures are wrong. The xclear() is now done on purpose. Please keep X11 calls out of the way of pure tty-related calls. Diffstat: M st.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- DIR diff --git a/st.c b/st.c @@ -953,7 +953,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); } @@ -1728,6 +1728,7 @@ tputc(char *c) { case 'c': /* RIS -- Reset to inital state */ treset(); term.esc = 0; + xclear(0, 0, xw.w, xw.h); xresettitle(); break; case '=': /* DECPAM -- Application keypad */ @@ -2456,9 +2457,9 @@ main(int argc, char *argv[]) { run: setlocale(LC_CTYPE, ""); - xinit(); tnew(80, 24); ttynew(); + xinit(); selinit(); run(); return 0;