# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit d84f3f4bd15e7d65fc0334cf7d62913c901bad00
    parent 8b564c1a3f51c08e64c2f589852a02b8595d44ca
    Author: Devin J. Pohly <djpohly@gmail.com>
    Date:   Wed, 21 Feb 2018 22:28:41 -0600

    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>

    Diffstat:
    Mst.c | 3+--
    Mx.c | 6++----

    2 files changed, 3 insertions(+), 6 deletions(-)
    diff --git 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
    @@ -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;