Rely on ttyresize to set tty size This removes ttynew's dependency on cresize being called first, and then allows us to absorb the ttyresize call into cresize (which always precedes it). Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
Devin J. Pohly djpohly@gmail.com
M
st.c
→
st.c
@@ -670,7 +670,6 @@ void
ttynew(char *line, char *out, char **args) { int m, s; - struct winsize w = {term.row, term.col, 0, 0}; if (out) { term.mode |= MODE_PRINT;@@ -691,7 +690,7 @@ return;
} /* seems to work fine on linux, openbsd and freebsd */ - if (openpty(&m, &s, NULL, NULL, &w) < 0) + if (openpty(&m, &s, NULL, NULL, NULL) < 0) die("openpty failed: %s\n", strerror(errno)); switch (pid = fork()) {
M
x.c
→
x.c
@@ -276,7 +276,6 @@ {
xunloadfonts(); xloadfonts(usedfont, arg->f); cresize(0, 0); - ttyresize(win.tw, win.th); redraw(); xhints(); }@@ -695,6 +694,7 @@ row = (win.h - 2 * borderpx) / win.ch;
tresize(col, row); xresize(col, row); + ttyresize(win.tw, win.th); } void@@ -1794,7 +1794,6 @@ if (e->xconfigure.width == win.w && e->xconfigure.height == win.h)
return; cresize(e->xconfigure.width, e->xconfigure.height); - ttyresize(win.tw, win.th); } void@@ -1823,9 +1822,8 @@ h = ev.xconfigure.height;
} } while (ev.type != MapNotify); - cresize(w, h); ttynew(opt_line, opt_io, opt_cmd); - ttyresize(win.tw, win.th); + cresize(w, h); clock_gettime(CLOCK_MONOTONIC, &last); lastblink = last;