The xinit() call needs to be behind all the tty init, otherwise all the - st - Personal fork of st (HTM) git clone git://git.drkhsh.at/st.git (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 055a4f6d2cc727cc58509a39e130bdd8dbfa452b (DIR) parent e9c677816c0161a6702dabb244bd2fd918dcb0af (HTM) 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;