Mercurial > dwm-meillo
comparison view.c @ 573:797e27162b43
fififif
author | arg@mig29 |
---|---|
date | Wed, 22 Nov 2006 16:17:50 +0100 |
parents | fe766305eed1 |
children | 37281ebc1b5b |
comparison
equal
deleted
inserted
replaced
572:427708bf5f36 | 573:797e27162b43 |
---|---|
4 #include "dwm.h" | 4 #include "dwm.h" |
5 | 5 |
6 /* static */ | 6 /* static */ |
7 | 7 |
8 static Client * | 8 static Client * |
9 minclient(void) { | |
10 Client *c, *min; | |
11 | |
12 if((clients && clients->isfloat) || arrange == dofloat) | |
13 return clients; /* don't touch floating order */ | |
14 for(min = c = clients; c; c = c->next) | |
15 if(c->weight < min->weight) | |
16 min = c; | |
17 return min; | |
18 } | |
19 | |
20 static Client * | |
21 nexttiled(Client *c) { | 9 nexttiled(Client *c) { |
22 for(c = getnext(c); c && c->isfloat; c = getnext(c->next)); | 10 for(c = getnext(c); c && c->isfloat; c = getnext(c->next)); |
23 return c; | 11 return c; |
24 } | |
25 | |
26 static void | |
27 reorder(void) { | |
28 Client *c, *newclients, *tail; | |
29 | |
30 newclients = tail = NULL; | |
31 while((c = minclient())) { | |
32 detach(c); | |
33 if(tail) { | |
34 c->prev = tail; | |
35 tail->next = c; | |
36 tail = c; | |
37 } | |
38 else | |
39 tail = newclients = c; | |
40 } | |
41 clients = newclients; | |
42 } | 12 } |
43 | 13 |
44 static void | 14 static void |
45 togglemax(Client *c) { | 15 togglemax(Client *c) { |
46 XEvent ev; | 16 XEvent ev; |
245 | 215 |
246 seltag[arg->i] = !seltag[arg->i]; | 216 seltag[arg->i] = !seltag[arg->i]; |
247 for(i = 0; i < ntags && !seltag[i]; i++); | 217 for(i = 0; i < ntags && !seltag[i]; i++); |
248 if(i == ntags) | 218 if(i == ntags) |
249 seltag[arg->i] = True; /* cannot toggle last view */ | 219 seltag[arg->i] = True; /* cannot toggle last view */ |
250 reorder(); | |
251 arrange(); | 220 arrange(); |
252 } | 221 } |
253 | 222 |
254 void | 223 void |
255 view(Arg *arg) { | 224 view(Arg *arg) { |
256 unsigned int i; | 225 unsigned int i; |
257 | 226 |
258 for(i = 0; i < ntags; i++) | 227 for(i = 0; i < ntags; i++) |
259 seltag[i] = False; | 228 seltag[i] = False; |
260 seltag[arg->i] = True; | 229 seltag[arg->i] = True; |
261 reorder(); | |
262 arrange(); | 230 arrange(); |
263 } | 231 } |
264 | 232 |
265 void | 233 void |
266 viewall(Arg *arg) { | 234 viewall(Arg *arg) { |
267 unsigned int i; | 235 unsigned int i; |
268 | 236 |
269 for(i = 0; i < ntags; i++) | 237 for(i = 0; i < ntags; i++) |
270 seltag[i] = True; | 238 seltag[i] = True; |
271 reorder(); | |
272 arrange(); | 239 arrange(); |
273 } | 240 } |
274 | 241 |
275 void | 242 void |
276 zoom(Arg *arg) { | 243 zoom(Arg *arg) { |