diff options
| -rw-r--r-- | st.c | 14 |
1 files changed, 10 insertions, 4 deletions
| @@ -841,6 +841,8 @@ ttyresize(int x, int y) { | |||
| 841 | 841 | ||
| 842 | w.ws_row = term.row; | 842 | w.ws_row = term.row; |
| 843 | w.ws_col = term.col; | 843 | w.ws_col = term.col; |
| 844 | w.ws_xpixel = xw.w; | ||
| 845 | w.ws_ypixel = xw.h; | ||
| 844 | w.ws_xpixel = w.ws_ypixel = 0; | 846 | w.ws_xpixel = w.ws_ypixel = 0; |
| 845 | if(ioctl(cmdfd, TIOCSWINSZ, &w) < 0) | 847 | if(ioctl(cmdfd, TIOCSWINSZ, &w) < 0) |
| 846 | fprintf(stderr, "Couldn't set window size: %s\n", SERRNO); | 848 | fprintf(stderr, "Couldn't set window size: %s\n", SERRNO); |
| @@ -1910,12 +1912,15 @@ xinit(void) { | |||
| 1910 | xw.fx = sw + xw.fx - xw.fw - 1; | 1912 | xw.fx = sw + xw.fx - xw.fw - 1; |
| 1911 | if(xw.fy < 0) | 1913 | if(xw.fy < 0) |
| 1912 | xw.fy = sh + xw.fy - xw.fh - 1; | 1914 | xw.fy = sh + xw.fy - xw.fh - 1; |
| 1915 | |||
| 1916 | xw.h = xw.fh; | ||
| 1917 | xw.w = xw.fw; | ||
| 1913 | } else { | 1918 | } else { |
| 1914 | /* window - default size */ | 1919 | /* window - default size */ |
| 1915 | xw.h = 2*BORDER + term.row * xw.ch; | 1920 | xw.h = 2*BORDER + term.row * xw.ch; |
| 1916 | xw.w = 2*BORDER + term.col * xw.cw; | 1921 | xw.w = 2*BORDER + term.col * xw.cw; |
| 1917 | xw.fw = xw.w; | 1922 | xw.fx = 0; |
| 1918 | xw.fh = xw.h; | 1923 | xw.fy = 0; |
| 1919 | } | 1924 | } |
| 1920 | 1925 | ||
| 1921 | /* font */ | 1926 | /* font */ |
| @@ -1940,7 +1945,7 @@ xinit(void) { | |||
| 1940 | 1945 | ||
| 1941 | parent = opt_embed ? strtol(opt_embed, NULL, 0) : XRootWindow(xw.dpy, xw.scr); | 1946 | parent = opt_embed ? strtol(opt_embed, NULL, 0) : XRootWindow(xw.dpy, xw.scr); |
| 1942 | xw.win = XCreateWindow(xw.dpy, parent, xw.fx, xw.fy, | 1947 | xw.win = XCreateWindow(xw.dpy, parent, xw.fx, xw.fy, |
| 1943 | xw.fw, xw.fh, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput, | 1948 | xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput, |
| 1944 | XDefaultVisual(xw.dpy, xw.scr), | 1949 | XDefaultVisual(xw.dpy, xw.scr), |
| 1945 | CWBackPixel | CWBorderPixel | CWBitGravity | CWEventMask | 1950 | CWBackPixel | CWBorderPixel | CWBitGravity | CWEventMask |
| 1946 | | CWColormap, | 1951 | | CWColormap, |
| @@ -2254,8 +2259,8 @@ resize(XEvent *e) { | |||
| 2254 | return; | 2259 | return; |
| 2255 | if(tresize(col, row)) | 2260 | if(tresize(col, row)) |
| 2256 | draw(); | 2261 | draw(); |
| 2257 | ttyresize(col, row); | ||
| 2258 | xresize(col, row); | 2262 | xresize(col, row); |
| 2263 | ttyresize(col, row); | ||
| 2259 | } | 2264 | } |
| 2260 | 2265 | ||
| 2261 | bool | 2266 | bool |
| @@ -2310,6 +2315,7 @@ main(int argc, char *argv[]) { | |||
| 2310 | unsigned int wr, hr; | 2315 | unsigned int wr, hr; |
| 2311 | 2316 | ||
| 2312 | xw.fw = xw.fh = xw.fx = xw.fy = 0; | 2317 | xw.fw = xw.fh = xw.fx = xw.fy = 0; |
| 2318 | xw.isfixed = False; | ||
| 2313 | 2319 | ||
| 2314 | for(i = 1; i < argc; i++) { | 2320 | for(i = 1; i < argc; i++) { |
| 2315 | switch(argv[i][0] != '-' || argv[i][2] ? -1 : argv[i][1]) { | 2321 | switch(argv[i][0] != '-' || argv[i][2] ? -1 : argv[i][1]) { |
