commit d84f3f4bd15e7d65fc0334cf7d62913c901bad00 from: Devin J. Pohly date: Mon Feb 26 03:53:24 2018 UTC 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 commit - 8b564c1a3f51c08e64c2f589852a02b8595d44ca commit + d84f3f4bd15e7d65fc0334cf7d62913c901bad00 blob - 9cfa5470925cd360469c7ae1d3471a336c366e56 blob + dae7b91bce03a1b8dd127c81abcae37cc0d2d734 --- 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 @@ ttynew(char *line, char *out, char **args) } /* 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()) { blob - e5b236de5cfb8cda3ad271a7e3c9fda3889d17f9 blob + 7bfa1b75891edd6bc2d88f3cc4de92640186b67c --- x.c +++ x.c @@ -276,7 +276,6 @@ zoomabs(const Arg *arg) xunloadfonts(); xloadfonts(usedfont, arg->f); cresize(0, 0); - ttyresize(win.tw, win.th); redraw(); xhints(); } @@ -695,6 +694,7 @@ cresize(int width, int height) tresize(col, row); xresize(col, row); + ttyresize(win.tw, win.th); } void @@ -1794,7 +1794,6 @@ resize(XEvent *e) return; cresize(e->xconfigure.width, e->xconfigure.height); - ttyresize(win.tw, win.th); } void @@ -1823,9 +1822,8 @@ run(void) } } 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;