Mercurial > dwm-meillo
comparison view.c @ 530:451f19d48845
removed the stack position stuff
author | Anselm R. Garbe <arg@10kloc.org> |
---|---|
date | Thu, 05 Oct 2006 19:27:28 +0200 |
parents | e2bd83191fc6 |
children | 96563762b4ad |
comparison
equal
deleted
inserted
replaced
529:e2bd83191fc6 | 530:451f19d48845 |
---|---|
63 } | 63 } |
64 | 64 |
65 /* extern */ | 65 /* extern */ |
66 | 66 |
67 void (*arrange)(Arg *) = DEFMODE; | 67 void (*arrange)(Arg *) = DEFMODE; |
68 StackPos stackpos = STACKPOS; | |
69 | 68 |
70 void | 69 void |
71 detach(Client *c) { | 70 detach(Client *c) { |
72 if(c->prev) | 71 if(c->prev) |
73 c->prev->next = c->next; | 72 c->prev->next = c->next; |
101 * SSMMM MMMMM MMMSS | 100 * SSMMM MMMMM MMMSS |
102 * SSMMM SSSSS MMMSS | 101 * SSMMM SSSSS MMMSS |
103 */ | 102 */ |
104 void | 103 void |
105 dotile(Arg *arg) { | 104 dotile(Arg *arg) { |
106 unsigned int i, n, md, stackw, stackh, tw, th; | 105 unsigned int i, n, md, stackw, stackh, th; |
107 Client *c; | 106 Client *c; |
108 | 107 |
109 for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) | 108 for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) |
110 n++; | 109 n++; |
111 | 110 |
112 if(stackpos == StackBottom) { | 111 md = (sw * master) / 1000; |
113 md = ((sh - bh) * master) / 1000; | 112 stackw = sw - md; |
114 stackw = sw; | 113 stackh = sh - bh; |
115 stackh = sh - bh - md; | 114 |
116 } | 115 th = stackh; |
117 else { | |
118 md = (sw * master) / 1000; | |
119 stackw = sw - md; | |
120 stackh = sh - bh; | |
121 } | |
122 | |
123 tw = stackw; | |
124 if(n > 1) | 116 if(n > 1) |
125 th = stackh / (n - 1); | 117 th /= (n - 1); |
126 else | |
127 th = stackh; | |
128 | 118 |
129 for(i = 0, c = clients; c; c = c->next) { | 119 for(i = 0, c = clients; c; c = c->next) { |
130 if(isvisible(c)) { | 120 if(isvisible(c)) { |
131 if(c->isfloat) { | 121 if(c->isfloat) { |
132 resize(c, True, TopLeft); | 122 resize(c, True, TopLeft); |
138 if(n == 1) { /* only 1 window */ | 128 if(n == 1) { /* only 1 window */ |
139 c->w = sw - 2 * BORDERPX; | 129 c->w = sw - 2 * BORDERPX; |
140 c->h = sh - 2 * BORDERPX - bh; | 130 c->h = sh - 2 * BORDERPX - bh; |
141 } | 131 } |
142 else if(i == 0) { /* master window */ | 132 else if(i == 0) { /* master window */ |
143 if(stackpos == StackLeft) | 133 c->w = md - 2 * BORDERPX; |
144 c->x += stackw; | 134 c->h = sh - bh - 2 * BORDERPX; |
145 switch(stackpos) { | |
146 case StackLeft: | |
147 case StackRight: | |
148 c->w = md - 2 * BORDERPX; | |
149 c->h = sh - bh - 2 * BORDERPX; | |
150 break; | |
151 case StackBottom: | |
152 c->w = sw - 2 * BORDERPX; | |
153 c->h = md - 2 * BORDERPX; | |
154 break; | |
155 } | |
156 } | 135 } |
157 else { /* tile window */ | 136 else { /* tile window */ |
158 if(stackpos == StackRight) | 137 c->x += md; |
159 c->x += md; | |
160 if(th > bh) { | 138 if(th > bh) { |
161 switch(stackpos) { | 139 c->y = sy + (i - 1) * th + bh; |
162 case StackLeft: | 140 if(i + 1 == n) |
163 case StackRight: | 141 c->h = sh - c->y - 2 * BORDERPX; |
164 c->y = sy + (i - 1) * th + bh; | 142 c->w = stackw - 2 * BORDERPX; |
165 if(i + 1 == n) | |
166 c->h = sh - c->y - 2 * BORDERPX; | |
167 break; | |
168 case StackBottom: | |
169 c->y = sy + md + (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; | 143 c->h = th - 2 * BORDERPX; |
176 } | 144 } |
177 else { /* fallback if th < bh */ | 145 else { /* fallback if th < bh */ |
178 if(stackpos == StackBottom) | |
179 c->y += md; | |
180 c->w = stackw - 2 * BORDERPX; | 146 c->w = stackw - 2 * BORDERPX; |
181 c->h = stackh - 2 * BORDERPX; | 147 c->h = stackh - 2 * BORDERPX; |
182 } | 148 } |
183 } | 149 } |
184 resize(c, False, TopLeft); | 150 resize(c, False, TopLeft); |
306 seltag[arg->i] = !seltag[arg->i]; | 272 seltag[arg->i] = !seltag[arg->i]; |
307 for(i = 0; i < ntags && !seltag[i]; i++); | 273 for(i = 0; i < ntags && !seltag[i]; i++); |
308 if(i == ntags) | 274 if(i == ntags) |
309 seltag[arg->i] = True; /* cannot toggle last view */ | 275 seltag[arg->i] = True; /* cannot toggle last view */ |
310 reorder(); | 276 reorder(); |
311 arrange(NULL); | |
312 } | |
313 | |
314 void | |
315 togglestackpos(Arg *arg) { | |
316 if(arrange == dofloat) | |
317 return; | |
318 if(stackpos == StackBottom) | |
319 stackpos = STACKPOS; | |
320 else | |
321 stackpos = StackBottom; | |
322 arrange(NULL); | 277 arrange(NULL); |
323 } | 278 } |
324 | 279 |
325 void | 280 void |
326 view(Arg *arg) { | 281 view(Arg *arg) { |