# st

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

| Log | Files | Refs | README | LICENSE

    commit b1d383a0a344e35dad1064e129f70d52bddfd7b2
    parent e02d72441ab6c1fba649ca65824b2d5dbb9db0f4
    Author: Christoph Lohmann <20h@r-36.net>
    Date:   Tue,  4 Sep 2012 22:44:33 +0200

    Cleaning up the fixed window size and the resizing of clients.

    Diffstat:
    Mst.c | 14++++++++++----

    1 file changed, 10 insertions(+), 4 deletions(-)
    diff --git a/st.c b/st.c
    @@ -841,6 +841,8 @@ ttyresize(int x, int y) {

     	w.ws_row = term.row;
     	w.ws_col = term.col;
    +	w.ws_xpixel = xw.w;
    +	w.ws_ypixel = xw.h;
     	w.ws_xpixel = w.ws_ypixel = 0;
     	if(ioctl(cmdfd, TIOCSWINSZ, &w) < 0)
     		fprintf(stderr, "Couldn't set window size: %s\n", SERRNO);
    @@ -1910,12 +1912,15 @@ xinit(void) {
     			xw.fx = sw + xw.fx - xw.fw - 1;
     		if(xw.fy < 0)
     			xw.fy = sh + xw.fy - xw.fh - 1;
    +
    +		xw.h = xw.fh;
    +		xw.w = xw.fw;
     	} else {
     		/* window - default size */
     		xw.h = 2*BORDER + term.row * xw.ch;
     		xw.w = 2*BORDER + term.col * xw.cw;
    -		xw.fw = xw.w;
    -		xw.fh = xw.h;
    +		xw.fx = 0;
    +		xw.fy = 0;
     	}

     	/* font */
    @@ -1940,7 +1945,7 @@ xinit(void) {

     	parent = opt_embed ? strtol(opt_embed, NULL, 0) : XRootWindow(xw.dpy, xw.scr);
     	xw.win = XCreateWindow(xw.dpy, parent, xw.fx, xw.fy,
    -			xw.fw, xw.fh, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput,
    +			xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput,
     			XDefaultVisual(xw.dpy, xw.scr),
     			CWBackPixel | CWBorderPixel | CWBitGravity | CWEventMask
     			| CWColormap,
    @@ -2254,8 +2259,8 @@ resize(XEvent *e) {
     		return;
     	if(tresize(col, row))
     		draw();
    -	ttyresize(col, row);
     	xresize(col, row);
    +	ttyresize(col, row);
     }

     bool
    @@ -2310,6 +2315,7 @@ main(int argc, char *argv[]) {
     	unsigned int wr, hr;

     	xw.fw = xw.fh = xw.fx = xw.fy = 0;
    +	xw.isfixed = False;

     	for(i = 1; i < argc; i++) {
     		switch(argv[i][0] != '-' || argv[i][2] ? -1 : argv[i][1]) {