comparison view.c @ 565:fe766305eed1

applied Gottox' windowarea patch
author arg@mig29
date Thu, 16 Nov 2006 14:40:57 +0100
parents b5435d3fb7b0
children 797e27162b43
comparison
equal deleted inserted replaced
564:a22a70174d44 565:fe766305eed1
47 47
48 if(c->isfixed) 48 if(c->isfixed)
49 return; 49 return;
50 50
51 if((c->ismax = !c->ismax)) { 51 if((c->ismax = !c->ismax)) {
52 c->rx = c->x; c->x = sx; 52 c->rx = c->x; c->x = wax;
53 c->ry = c->y; c->y = bh; 53 c->ry = c->y; c->y = way;
54 c->rw = c->w; c->w = sw - 2 * BORDERPX; 54 c->rw = c->w; c->w = waw - 2 * BORDERPX;
55 c->rh = c->h; c->h = sh - bh - 2 * BORDERPX; 55 c->rh = c->h; c->h = wah - 2 * BORDERPX;
56 } 56 }
57 else { 57 else {
58 c->x = c->rx; 58 c->x = c->rx;
59 c->y = c->ry; 59 c->y = c->ry;
60 c->w = c->rw; 60 c->w = c->rw;
97 restack(); 97 restack();
98 } 98 }
99 99
100 void 100 void
101 dotile(void) { 101 dotile(void) {
102 unsigned int i, n, mpx, stackw, stackh, th; 102 unsigned int i, n, mpx, stackw, th;
103 Client *c; 103 Client *c;
104 104
105 for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) 105 for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next))
106 n++; 106 n++;
107 mpx = (sw * master) / 1000; 107 mpx = (waw * master) / 1000;
108 stackw = sw - mpx; 108 stackw = waw - mpx;
109 stackh = sh - bh;
110 th = stackh;
111 if(n > 1)
112 th /= (n - 1);
113 109
114 for(i = 0, c = clients; c; c = c->next) 110 for(i = 0, c = clients; c; c = c->next)
115 if(isvisible(c)) { 111 if(isvisible(c)) {
116 if(c->isfloat) { 112 if(c->isfloat) {
117 resize(c, True, TopLeft); 113 resize(c, True, TopLeft);
118 continue; 114 continue;
119 } 115 }
120 c->ismax = False; 116 c->ismax = False;
121 c->x = sx; 117 c->x = wax;
122 c->y = sy + bh; 118 c->y = way;
123 if(n == 1) { /* only 1 window */ 119 if(n == 1) { /* only 1 window */
124 c->w = sw - 2 * BORDERPX; 120 c->w = waw - 2 * BORDERPX;
125 c->h = sh - 2 * BORDERPX - bh; 121 c->h = wah - 2 * BORDERPX;
126 } 122 }
127 else if(i == 0) { /* master window */ 123 else if(i == 0) { /* master window */
128 c->w = mpx - 2 * BORDERPX; 124 c->w = waw - stackw - 2 * BORDERPX;
129 c->h = sh - bh - 2 * BORDERPX; 125 c->h = wah - 2 * BORDERPX;
126 th = wah / (n - 1);
130 } 127 }
131 else { /* tile window */ 128 else { /* tile window */
132 c->x += mpx; 129 c->x += mpx;
133 c->w = stackw - 2 * BORDERPX; 130 c->w = stackw - 2 * BORDERPX;
134 if(th > bh) { 131 if(th > bh) {
135 c->y = sy + (i - 1) * th + bh; 132 c->y = way + (i - 1) * th;
136 if(i + 1 == n) 133 c->h = th - 2 * BORDERPX;
137 c->h = sh - c->y - 2 * BORDERPX;
138 else
139 c->h = th - 2 * BORDERPX;
140 } 134 }
141 else /* fallback if th < bh */ 135 else /* fallback if th < bh */
142 c->h = stackh - 2 * BORDERPX; 136 c->h = wah - 2 * BORDERPX;
143 } 137 }
144 resize(c, False, TopLeft); 138 resize(c, False, TopLeft);
145 i++; 139 i++;
146 } 140 }
147 else 141 else