Mercurial > aewl
comparison view.c @ 511:1599c953647b
removed the direction flipping
author | Anselm R. Garbe <arg@10kloc.org> |
---|---|
date | Fri, 29 Sep 2006 17:02:56 +0200 |
parents | 0dfa6b752aed |
children | aca04c3022c1 |
comparison
equal
deleted
inserted
replaced
510:0dfa6b752aed | 511:1599c953647b |
---|---|
63 } | 63 } |
64 | 64 |
65 /* extern */ | 65 /* extern */ |
66 | 66 |
67 void (*arrange)(Arg *) = DEFMODE; | 67 void (*arrange)(Arg *) = DEFMODE; |
68 Bool isvertical = VERTICALSTACK; | |
69 StackPos stackpos = STACKPOS; | 68 StackPos stackpos = STACKPOS; |
70 | 69 |
71 void | 70 void |
72 detach(Client *c) { | 71 detach(Client *c) { |
73 if(c->prev) | 72 if(c->prev) |
117 else { | 116 else { |
118 stackw = sw - master; | 117 stackw = sw - master; |
119 stackh = sh - bh; | 118 stackh = sh - bh; |
120 } | 119 } |
121 | 120 |
122 if(isvertical) { | 121 tw = stackw; |
123 tw = stackw; | 122 if(n > 1) |
124 if(n > 1) | 123 th = stackh / (n - 1); |
125 th = stackh / (n - 1); | 124 else |
126 else | |
127 th = stackh; | |
128 } | |
129 else { | |
130 th = stackh; | 125 th = stackh; |
131 if(n > 1) | |
132 tw = stackw / (n - 1); | |
133 else | |
134 tw = stackw; | |
135 } | |
136 | 126 |
137 for(i = 0, c = clients; c; c = c->next) { | 127 for(i = 0, c = clients; c; c = c->next) { |
138 if(isvisible(c)) { | 128 if(isvisible(c)) { |
139 if(c->isfloat) { | 129 if(c->isfloat) { |
140 resize(c, True, TopLeft); | 130 resize(c, True, TopLeft); |
167 c->w = master - 2 * BORDERPX; | 157 c->w = master - 2 * BORDERPX; |
168 c->h = sh - bh - 2 * BORDERPX; | 158 c->h = sh - bh - 2 * BORDERPX; |
169 break; | 159 break; |
170 } | 160 } |
171 } | 161 } |
172 else if((isvertical && th > bh) || (!isvertical && tw > MINW)) { | 162 else if(th > bh) { |
173 /* tile window */ | 163 /* tile window */ |
174 c->w = tw - 2 * BORDERPX; | 164 c->w = tw - 2 * BORDERPX; |
175 c->h = th - 2 * BORDERPX; | 165 c->h = th - 2 * BORDERPX; |
176 switch(stackpos) { | 166 switch(stackpos) { |
177 case StackLeft: | 167 case StackLeft: |
178 if(isvertical) { | 168 c->x = sx; |
179 c->x = sx; | 169 c->y = sy + (i - 1) * th + bh; |
180 c->y = sy + (i - 1) * th + bh; | 170 if(i + 1 == n) |
181 if(i + 1 == n) | 171 c->h = sh - c->y - 2 * BORDERPX; |
182 c->h = sh - c->y - 2 * BORDERPX; | |
183 } | |
184 else { | |
185 c->x = sx + (i - 1) * tw; | |
186 c->y = sy + bh; | |
187 if(i + 1 == n) | |
188 c->w = sx + stackw - c->x - 2 * BORDERPX; | |
189 } | |
190 break; | 172 break; |
191 case StackBottom: | 173 case StackBottom: |
192 if(isvertical) { | 174 c->x = sx; |
193 c->x = sx; | 175 c->y = sy + master + (i - 1) * th + bh; |
194 c->y = sy + master + (i - 1) * th + bh; | 176 if(i + 1 == n) |
195 if(i + 1 == n) | 177 c->h = sh - c->y - 2 * BORDERPX; |
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) | |
202 c->w = sw - c->x - 2 * BORDERPX; | |
203 } | |
204 break; | 178 break; |
205 case StackRight: | 179 case StackRight: |
206 if(isvertical) { | 180 c->x = sx + master; |
207 c->x = sx + master; | 181 c->y = sy + (i - 1) * th + bh; |
208 c->y = sy + (i - 1) * th + bh; | 182 if(i + 1 == n) |
209 if(i + 1 == n) | 183 c->h = sh - c->y - 2 * BORDERPX; |
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 = sw - c->x - 2 * BORDERPX; | |
217 } | |
218 break; | 184 break; |
219 } | 185 } |
220 } | 186 } |
221 else { /* fallback if th < bh resp. tw < MINW */ | 187 else { /* fallback if th < bh */ |
222 c->w = stackw - 2 * BORDERPX; | 188 c->w = stackw - 2 * BORDERPX; |
223 c->h = stackh - 2 * BORDERPX; | 189 c->h = stackh - 2 * BORDERPX; |
224 switch(stackpos) { | 190 switch(stackpos) { |
225 case StackLeft: | 191 case StackLeft: |
226 c->x = sx; | 192 c->x = sx; |
354 seltag[arg->i] = !seltag[arg->i]; | 320 seltag[arg->i] = !seltag[arg->i]; |
355 for(i = 0; i < ntags && !seltag[i]; i++); | 321 for(i = 0; i < ntags && !seltag[i]; i++); |
356 if(i == ntags) | 322 if(i == ntags) |
357 seltag[arg->i] = True; /* cannot toggle last view */ | 323 seltag[arg->i] = True; /* cannot toggle last view */ |
358 reorder(); | 324 reorder(); |
359 arrange(NULL); | |
360 } | |
361 | |
362 void | |
363 togglestackdir(Arg *arg) { | |
364 if(arrange == dofloat) | |
365 return; | |
366 isvertical = !isvertical; | |
367 arrange(NULL); | 325 arrange(NULL); |
368 } | 326 } |
369 | 327 |
370 void | 328 void |
371 togglestackpos(Arg *arg) { | 329 togglestackpos(Arg *arg) { |