URI: 
       Rely on ttyresize to set tty size - st - simple terminal
  HTML git clone https://git.parazyd.org/st
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit d84f3f4bd15e7d65fc0334cf7d62913c901bad00
   DIR parent 8b564c1a3f51c08e64c2f589852a02b8595d44ca
  HTML 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:
         M st.c                                |       3 +--
         M x.c                                 |       6 ++----
       
       2 files changed, 3 insertions(+), 6 deletions(-)
       ---
   DIR 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()) {
   DIR 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;