aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin J. Pohly <djpohly@gmail.com>2018-02-21 22:28:41 -0600
committerDevin J. Pohly <djpohly@gmail.com>2018-02-25 21:53:24 -0600
commitd84f3f4bd15e7d65fc0334cf7d62913c901bad00 (patch)
tree8d7a06956aab3d332423b59257a67adf4b92906f
parent8b564c1a3f51c08e64c2f589852a02b8595d44ca (diff)
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>
-rw-r--r--st.c3
-rw-r--r--x.c6
2 files changed, 3 insertions, 6 deletions
diff --git a/st.c b/st.c
index 9cfa547..dae7b91 100644
--- a/st.c
+++ b/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()) {
diff --git a/x.c b/x.c
index e5b236d..7bfa1b7 100644
--- a/x.c
+++ b/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;