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>
master
Devin J. Pohly 7 years ago
parent 8b564c1a3f
commit d84f3f4bd1
  1. 3
      st.c
  2. 6
      x.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()) {

6
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;

Loading…
Cancel
Save