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>
This commit is contained in:
parent
8b564c1a3f
commit
d84f3f4bd1
3
st.c
3
st.c
|
@ -670,7 +670,6 @@ void
|
||||||
ttynew(char *line, char *out, char **args)
|
ttynew(char *line, char *out, char **args)
|
||||||
{
|
{
|
||||||
int m, s;
|
int m, s;
|
||||||
struct winsize w = {term.row, term.col, 0, 0};
|
|
||||||
|
|
||||||
if (out) {
|
if (out) {
|
||||||
term.mode |= MODE_PRINT;
|
term.mode |= MODE_PRINT;
|
||||||
|
@ -691,7 +690,7 @@ ttynew(char *line, char *out, char **args)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* seems to work fine on linux, openbsd and freebsd */
|
/* 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));
|
die("openpty failed: %s\n", strerror(errno));
|
||||||
|
|
||||||
switch (pid = fork()) {
|
switch (pid = fork()) {
|
||||||
|
|
6
x.c
6
x.c
|
@ -276,7 +276,6 @@ zoomabs(const Arg *arg)
|
||||||
xunloadfonts();
|
xunloadfonts();
|
||||||
xloadfonts(usedfont, arg->f);
|
xloadfonts(usedfont, arg->f);
|
||||||
cresize(0, 0);
|
cresize(0, 0);
|
||||||
ttyresize(win.tw, win.th);
|
|
||||||
redraw();
|
redraw();
|
||||||
xhints();
|
xhints();
|
||||||
}
|
}
|
||||||
|
@ -695,6 +694,7 @@ cresize(int width, int height)
|
||||||
|
|
||||||
tresize(col, row);
|
tresize(col, row);
|
||||||
xresize(col, row);
|
xresize(col, row);
|
||||||
|
ttyresize(win.tw, win.th);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1794,7 +1794,6 @@ resize(XEvent *e)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
cresize(e->xconfigure.width, e->xconfigure.height);
|
cresize(e->xconfigure.width, e->xconfigure.height);
|
||||||
ttyresize(win.tw, win.th);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1823,9 +1822,8 @@ run(void)
|
||||||
}
|
}
|
||||||
} while (ev.type != MapNotify);
|
} while (ev.type != MapNotify);
|
||||||
|
|
||||||
cresize(w, h);
|
|
||||||
ttynew(opt_line, opt_io, opt_cmd);
|
ttynew(opt_line, opt_io, opt_cmd);
|
||||||
ttyresize(win.tw, win.th);
|
cresize(w, h);
|
||||||
|
|
||||||
clock_gettime(CLOCK_MONOTONIC, &last);
|
clock_gettime(CLOCK_MONOTONIC, &last);
|
||||||
lastblink = last;
|
lastblink = last;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user