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) {