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;