146 c->y = sy + bh; |
146 c->y = sy + bh; |
147 c->w = sw - 2 * BORDERPX; |
147 c->w = sw - 2 * BORDERPX; |
148 c->h = sh - 2 * BORDERPX - bh; |
148 c->h = sh - 2 * BORDERPX - bh; |
149 } |
149 } |
150 else if(i == 0) { /* master window */ |
150 else if(i == 0) { /* master window */ |
151 c->x = sx; |
151 switch(stackpos) { |
152 if(stackpos == StackLeft) |
152 case StackLeft: |
153 c->x += master; |
153 c->x = sx + stackw; |
154 c->y = sy + bh; |
154 c->y = sy + bh; |
155 if(isvertical) { |
|
156 c->w = master - 2 * BORDERPX; |
155 c->w = master - 2 * BORDERPX; |
157 c->h = sh - 2 * BORDERPX - bh; |
156 c->h = sh - bh - 2 * BORDERPX; |
158 } |
157 break; |
159 else { |
158 case StackBottom: |
160 c->w = sw; |
159 c->x = sx; |
|
160 c->y = sy + bh; |
|
161 c->w = sw - 2 * BORDERPX; |
161 c->h = master - 2 * BORDERPX; |
162 c->h = master - 2 * BORDERPX; |
|
163 break; |
|
164 case StackRight: |
|
165 c->x = sx; |
|
166 c->y = sy + bh; |
|
167 c->w = master - 2 * BORDERPX; |
|
168 c->h = sh - bh - 2 * BORDERPX; |
|
169 break; |
162 } |
170 } |
163 } |
171 } |
164 else if((isvertical && th > bh) || (!isvertical && tw > MINW)) { |
172 else if((isvertical && th > bh) || (!isvertical && tw > MINW)) { |
165 /* tile window */ |
173 /* tile window */ |
166 c->x = sx; |
|
167 if(isvertical) |
|
168 c->y = sy + (i - 1) * th + bh; |
|
169 else |
|
170 c->y = sy + bh; |
|
171 if(stackpos == StackRight) |
|
172 c->x += master; |
|
173 else if(stackpos == StackBottom) |
|
174 c->y += master; |
|
175 c->w = tw - 2 * BORDERPX; |
174 c->w = tw - 2 * BORDERPX; |
176 c->h = th - 2 * BORDERPX; |
175 c->h = th - 2 * BORDERPX; |
177 if(i + 1 == n) { /* fixes for last tile to take up rest space */ |
176 switch(stackpos) { |
178 if(isvertical) |
177 case StackLeft: |
179 c->h = sh - c->y - 2 * BORDERPX; |
178 if(isvertical) { |
|
179 c->x = sx; |
|
180 c->y = sy + (i - 1) * th + bh; |
|
181 if(i + 1 == n) |
|
182 c->h = sh - c->y - 2 * BORDERPX; |
|
183 } |
180 else { |
184 else { |
181 if(stackpos == StackLeft) |
185 c->x = sx + (i - 1) * tw; |
182 c->w = master - c->x - 2 * BORDERPX; |
186 c->y = sy + bh; |
183 else |
187 if(i + 1 == n) |
|
188 c->w = sx + stackw - c->x - 2 * BORDERPX; |
|
189 } |
|
190 break; |
|
191 case StackBottom: |
|
192 if(isvertical) { |
|
193 c->x = sx; |
|
194 c->y = sy + master + (i - 1) * th + bh; |
|
195 if(i + 1 == n) |
|
196 c->h = sh - c->y - 2 * BORDERPX; |
|
197 } |
|
198 else { |
|
199 c->x = sx + (i - 1) * tw; |
|
200 c->y = sy + bh + master; |
|
201 if(i + 1 == n) |
184 c->w = sw - c->x - 2 * BORDERPX; |
202 c->w = sw - c->x - 2 * BORDERPX; |
185 } |
203 } |
|
204 break; |
|
205 case StackRight: |
|
206 if(isvertical) { |
|
207 c->x = sx + master; |
|
208 c->y = sy + (i - 1) * th + bh; |
|
209 if(i + 1 == n) |
|
210 c->h = sh - c->y - 2 * BORDERPX; |
|
211 } |
|
212 else { |
|
213 c->x = sx + master + (i - 1) * tw; |
|
214 c->y = sy + bh; |
|
215 if(i + 1 == n) |
|
216 c->w = sx + stackw - c->x - 2 * BORDERPX; |
|
217 } |
|
218 break; |
186 } |
219 } |
187 } |
220 } |
188 else { /* fallback if th < bh resp. tw < MINW */ |
221 else { /* fallback if th < bh resp. tw < MINW */ |
189 c->x = sx; |
|
190 c->y = sy + bh; |
|
191 if(stackpos == StackRight) |
|
192 c->x += master; |
|
193 else if(stackpos == StackBottom) |
|
194 c->y += master; |
|
195 c->w = stackw - 2 * BORDERPX; |
222 c->w = stackw - 2 * BORDERPX; |
196 c->h = stackh - 2 * BORDERPX; |
223 c->h = stackh - 2 * BORDERPX; |
|
224 switch(stackpos) { |
|
225 case StackLeft: |
|
226 c->x = sx; |
|
227 c->y = sy + bh; |
|
228 break; |
|
229 case StackBottom: |
|
230 c->x = sx; |
|
231 c->y = sy + master; |
|
232 break; |
|
233 case StackRight: |
|
234 c->x = sx + master; |
|
235 c->y = sy + bh; |
|
236 break; |
|
237 } |
197 } |
238 } |
198 resize(c, False, TopLeft); |
239 resize(c, False, TopLeft); |
199 i++; |
240 i++; |
200 } |
241 } |
201 else |
242 else |