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>dev
parent
8b564c1a3f
commit
d84f3f4bd1
3
st.c
3
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()) {
|
||||
|
|
6
x.c
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…
Reference in New Issue