X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;ds=sidebyside;f=st.c;h=3a0a5198c61f934a686077d7e03f731d79b93f66;hb=504a165277c13797840c42c64807b59cd4e5f3a5;hp=a47f0942a8792d900295d6d7ff277c46b2029696;hpb=00873e65eed161ee5f8916fbfb25c1a7f7a9b2f8;p=st.git diff --git a/st.c b/st.c index a47f094..3a0a519 100644 --- a/st.c +++ b/st.c @@ -1440,6 +1440,8 @@ ttynew(void) if (openpty(&m, &s, NULL, NULL, &w) < 0) die("openpty failed: %s\n", strerror(errno)); + ttyresize(); + switch (pid = fork()) { case -1: die("fork failed\n"); @@ -1518,8 +1520,6 @@ ttywrite(const char *s, size_t n) continue; die("select failed: %s\n", strerror(errno)); } - if (FD_ISSET(cmdfd, &rfd)) - lim = ttyread(); if (FD_ISSET(cmdfd, &wfd)) { /* * Only write the bytes written by ttywrite() or the @@ -1543,6 +1543,8 @@ ttywrite(const char *s, size_t n) break; } } + if (FD_ISSET(cmdfd, &rfd)) + lim = ttyread(); } return; @@ -3237,7 +3239,7 @@ xclear(int x1, int y1, int x2, int y2) void xhints(void) { - XClassHint class = {opt_class ? opt_class : termname, termname}; + XClassHint class = {termname, opt_class ? opt_class : termname}; XWMHints wm = {.flags = InputHint, .input = 1}; XSizeHints *sizeh = NULL; @@ -3469,7 +3471,7 @@ xinit(void) if (xw.gm & XNegative) xw.l += DisplayWidth(xw.dpy, xw.scr) - xw.w - 2; if (xw.gm & YNegative) - xw.t += DisplayWidth(xw.dpy, xw.scr) - xw.h - 2; + xw.t += DisplayHeight(xw.dpy, xw.scr) - xw.h - 2; /* Events */ xw.attrs.background_pixel = dc.col[defaultbg].pixel; @@ -4329,7 +4331,7 @@ run(void) void usage(void) { - die("%s " VERSION " (c) 2010-2015 st engineers\n" + die("%s " VERSION " (c) 2010-2016 st engineers\n" "usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n" " [-i] [-t title] [-T title] [-w windowid] [-e command ...]" " [command ...]\n"