yet another simplification of dotile()
2583a7c0
1 file(s) · +25 −30
| 133 | 133 | continue; |
|
| 134 | 134 | } |
|
| 135 | 135 | c->ismax = False; |
|
| 136 | + | c->x = sx; |
|
| 137 | + | c->y = sy + bh; |
|
| 136 | 138 | if(n == 1) { /* only 1 window */ |
|
| 137 | - | c->x = sx; |
|
| 138 | - | c->y = sy + bh; |
|
| 139 | 139 | c->w = sw - 2 * BORDERPX; |
|
| 140 | 140 | c->h = sh - 2 * BORDERPX - bh; |
|
| 141 | 141 | } |
|
| 142 | 142 | else if(i == 0) { /* master window */ |
|
| 143 | - | c->x = sx; |
|
| 144 | 143 | if(stackpos == StackLeft) |
|
| 145 | 144 | c->x += stackw; |
|
| 146 | - | c->y = sy + bh; |
|
| 147 | 145 | switch(stackpos) { |
|
| 148 | 146 | case StackLeft: |
|
| 149 | 147 | case StackRight: |
|
| 156 | 154 | break; |
|
| 157 | 155 | } |
|
| 158 | 156 | } |
|
| 159 | - | else if(th > bh) { /* tile window */ |
|
| 160 | - | c->x = sx; |
|
| 157 | + | else { /* tile window */ |
|
| 161 | 158 | if(stackpos == StackRight) |
|
| 162 | 159 | c->x += master; |
|
| 163 | - | c->w = tw - 2 * BORDERPX; |
|
| 164 | - | c->h = th - 2 * BORDERPX; |
|
| 165 | - | switch(stackpos) { |
|
| 166 | - | case StackLeft: |
|
| 167 | - | case StackRight: |
|
| 168 | - | c->y = sy + (i - 1) * th + bh; |
|
| 169 | - | if(i + 1 == n) |
|
| 170 | - | c->h = sh - c->y - 2 * BORDERPX; |
|
| 171 | - | break; |
|
| 172 | - | case StackBottom: |
|
| 173 | - | c->y = sy + master + (i - 1) * th + bh; |
|
| 174 | - | if(i + 1 == n) |
|
| 175 | - | c->h = sh - c->y - 2 * BORDERPX; |
|
| 176 | - | break; |
|
| 160 | + | if(th > bh) { |
|
| 161 | + | switch(stackpos) { |
|
| 162 | + | case StackLeft: |
|
| 163 | + | case StackRight: |
|
| 164 | + | c->y = sy + (i - 1) * th + bh; |
|
| 165 | + | if(i + 1 == n) |
|
| 166 | + | c->h = sh - c->y - 2 * BORDERPX; |
|
| 167 | + | break; |
|
| 168 | + | case StackBottom: |
|
| 169 | + | c->y = sy + master + (i - 1) * th + bh; |
|
| 170 | + | if(i + 1 == n) |
|
| 171 | + | c->h = sh - c->y - 2 * BORDERPX; |
|
| 172 | + | break; |
|
| 173 | + | } |
|
| 174 | + | c->w = tw - 2 * BORDERPX; |
|
| 175 | + | c->h = th - 2 * BORDERPX; |
|
| 176 | + | } |
|
| 177 | + | else { /* fallback if th < bh */ |
|
| 178 | + | if(stackpos == StackBottom) |
|
| 179 | + | c->y += master; |
|
| 180 | + | c->w = stackw - 2 * BORDERPX; |
|
| 181 | + | c->h = stackh - 2 * BORDERPX; |
|
| 177 | 182 | } |
|
| 178 | - | } |
|
| 179 | - | else { /* fallback if th < bh */ |
|
| 180 | - | c->x = sx; |
|
| 181 | - | if(stackpos == StackRight) |
|
| 182 | - | c->x += master; |
|
| 183 | - | c->y = sy + bh; |
|
| 184 | - | if(stackpos == StackBottom) |
|
| 185 | - | c->y += master; |
|
| 186 | - | c->w = stackw - 2 * BORDERPX; |
|
| 187 | - | c->h = stackh - 2 * BORDERPX; |
|
| 188 | 183 | } |
|
| 189 | 184 | resize(c, False, TopLeft); |
|
| 190 | 185 | i++; |
|