tile.c
changeset 1214 941bd7c15a32
parent 1211 dec59256a91e
equal deleted inserted replaced
1213:368a80dcf5bd 1214:941bd7c15a32
    24 	arrange();
    24 	arrange();
    25 }
    25 }
    26 
    26 
    27 void
    27 void
    28 tile(void) {
    28 tile(void) {
    29 	int y, h;
    29 	int x, y, h, w;
    30 	unsigned int i, n;
    30 	unsigned int i, n;
    31 	Client *c;
    31 	Client *c;
    32 
    32 
    33 	for(n = 0, c = nextunfloating(clients); c; c = nextunfloating(c->next), n++);
    33 	for(n = 0, c = nextunfloating(clients); c; c = nextunfloating(c->next), n++);
    34 	if(n == 0)
    34 	if(n == 0)
    44 
    44 
    45 	if(--n == 0)
    45 	if(--n == 0)
    46 		return;
    46 		return;
    47 
    47 
    48 	/* tile stack */
    48 	/* tile stack */
       
    49 	x = (tx > c->x + c->w) ? c->x + c->w + 2 * c->bw : tw;
    49 	y = ty;
    50 	y = ty;
       
    51 	w = (tx > c->x + c->w) ? wx + ww - x : tw;
    50 	h = th / n;
    52 	h = th / n;
    51 	if(h < bh)
    53 	if(h < bh)
    52 		h = th;
    54 		h = th;
    53 
    55 
    54 	for(i = 0, c = nextunfloating(c->next); c; c = nextunfloating(c->next), i++) {
    56 	for(i = 0, c = nextunfloating(c->next); c; c = nextunfloating(c->next), i++) {
    55 		if(i + 1 == n) /* remainder */
    57 		if(i + 1 == n) /* remainder */
    56 			tileresize(c, tx, y, tw - 2 * c->bw, (ty + th) - y - 2 * c->bw);
    58 			tileresize(c, x, y, w - 2 * c->bw, (ty + th) - y - 2 * c->bw);
    57 		else
    59 		else
    58 			tileresize(c, tx, y, tw - 2 * c->bw, h - 2 * c->bw);
    60 			tileresize(c, x, y, w - 2 * c->bw, h - 2 * c->bw);
    59 		if(h != th)
    61 		if(h != th)
    60 			y = c->y + c->h + 2 * c->bw;
    62 			y = c->y + c->h + 2 * c->bw;
    61 	}
    63 	}
    62 }
    64 }
    63 
    65