comparison view.c @ 523:c1dd19da63ef

yet another simplification of dotile()
author Anselm R. Garbe <arg@10kloc.org>
date Thu, 05 Oct 2006 12:18:04 +0200
parents fd1275f3b205
children 1a9a0877650c
comparison
equal deleted inserted replaced
522:fd1275f3b205 523:c1dd19da63ef
131 if(c->isfloat) { 131 if(c->isfloat) {
132 resize(c, True, TopLeft); 132 resize(c, True, TopLeft);
133 continue; 133 continue;
134 } 134 }
135 c->ismax = False; 135 c->ismax = False;
136 c->x = sx;
137 c->y = sy + bh;
136 if(n == 1) { /* only 1 window */ 138 if(n == 1) { /* only 1 window */
137 c->x = sx;
138 c->y = sy + bh;
139 c->w = sw - 2 * BORDERPX; 139 c->w = sw - 2 * BORDERPX;
140 c->h = sh - 2 * BORDERPX - bh; 140 c->h = sh - 2 * BORDERPX - bh;
141 } 141 }
142 else if(i == 0) { /* master window */ 142 else if(i == 0) { /* master window */
143 c->x = sx;
144 if(stackpos == StackLeft) 143 if(stackpos == StackLeft)
145 c->x += stackw; 144 c->x += stackw;
146 c->y = sy + bh;
147 switch(stackpos) { 145 switch(stackpos) {
148 case StackLeft: 146 case StackLeft:
149 case StackRight: 147 case StackRight:
150 c->w = master - 2 * BORDERPX; 148 c->w = master - 2 * BORDERPX;
151 c->h = sh - bh - 2 * BORDERPX; 149 c->h = sh - bh - 2 * BORDERPX;
154 c->w = sw - 2 * BORDERPX; 152 c->w = sw - 2 * BORDERPX;
155 c->h = master - 2 * BORDERPX; 153 c->h = master - 2 * BORDERPX;
156 break; 154 break;
157 } 155 }
158 } 156 }
159 else if(th > bh) { /* tile window */ 157 else { /* tile window */
160 c->x = sx;
161 if(stackpos == StackRight) 158 if(stackpos == StackRight)
162 c->x += master; 159 c->x += master;
163 c->w = tw - 2 * BORDERPX; 160 if(th > bh) {
164 c->h = th - 2 * BORDERPX; 161 switch(stackpos) {
165 switch(stackpos) { 162 case StackLeft:
166 case StackLeft: 163 case StackRight:
167 case StackRight: 164 c->y = sy + (i - 1) * th + bh;
168 c->y = sy + (i - 1) * th + bh; 165 if(i + 1 == n)
169 if(i + 1 == n) 166 c->h = sh - c->y - 2 * BORDERPX;
170 c->h = sh - c->y - 2 * BORDERPX; 167 break;
171 break; 168 case StackBottom:
172 case StackBottom: 169 c->y = sy + master + (i - 1) * th + bh;
173 c->y = sy + master + (i - 1) * th + bh; 170 if(i + 1 == n)
174 if(i + 1 == n) 171 c->h = sh - c->y - 2 * BORDERPX;
175 c->h = sh - c->y - 2 * BORDERPX; 172 break;
176 break; 173 }
174 c->w = tw - 2 * BORDERPX;
175 c->h = th - 2 * BORDERPX;
177 } 176 }
178 } 177 else { /* fallback if th < bh */
179 else { /* fallback if th < bh */ 178 if(stackpos == StackBottom)
180 c->x = sx; 179 c->y += master;
181 if(stackpos == StackRight) 180 c->w = stackw - 2 * BORDERPX;
182 c->x += master; 181 c->h = stackh - 2 * BORDERPX;
183 c->y = sy + bh; 182 }
184 if(stackpos == StackBottom)
185 c->y += master;
186 c->w = stackw - 2 * BORDERPX;
187 c->h = stackh - 2 * BORDERPX;
188 } 183 }
189 resize(c, False, TopLeft); 184 resize(c, False, TopLeft);
190 i++; 185 i++;
191 } 186 }
192 else 187 else