Mercurial > aewl
comparison tag.c @ 284:5f5c56e104de
changed replacetag into toggletag
author | Anselm R.Garbe <arg@10ksloc.org> |
---|---|
date | Mon, 14 Aug 2006 16:59:18 +0200 |
parents | 1e7fa455e3b4 |
children | e864d658eb02 |
comparison
equal
deleted
inserted
replaced
283:134804791d73 | 284:5f5c56e104de |
---|---|
33 void (*arrange)(Arg *) = DEFMODE; | 33 void (*arrange)(Arg *) = DEFMODE; |
34 | 34 |
35 /* extern */ | 35 /* extern */ |
36 | 36 |
37 void | 37 void |
38 appendtag(Arg *arg) | |
39 { | |
40 if(!sel) | |
41 return; | |
42 | |
43 sel->tags[arg->i] = True; | |
44 settitle(sel); | |
45 } | |
46 | |
47 void | |
48 dofloat(Arg *arg) | 38 dofloat(Arg *arg) |
49 { | 39 { |
50 Client *c; | 40 Client *c; |
51 | 41 |
52 for(c = clients; c; c = c->next) { | 42 for(c = clients; c; c = c->next) { |
178 | 168 |
179 for(i = 0; i < ntags; i++) | 169 for(i = 0; i < ntags; i++) |
180 if(c->tags[i] && seltag[i]) | 170 if(c->tags[i] && seltag[i]) |
181 return True; | 171 return True; |
182 return False; | 172 return False; |
183 } | |
184 | |
185 void | |
186 replacetag(Arg *arg) | |
187 { | |
188 int i; | |
189 | |
190 if(!sel) | |
191 return; | |
192 | |
193 for(i = 0; i < ntags; i++) | |
194 sel->tags[i] = False; | |
195 appendtag(arg); | |
196 } | 173 } |
197 | 174 |
198 void | 175 void |
199 restack() | 176 restack() |
200 { | 177 { |
279 for(i = 0; i < ntags; i++) | 256 for(i = 0; i < ntags; i++) |
280 c->tags[i] = seltag[i]; | 257 c->tags[i] = seltag[i]; |
281 } | 258 } |
282 | 259 |
283 void | 260 void |
261 tag(Arg *arg) | |
262 { | |
263 unsigned int i; | |
264 | |
265 if(!sel) | |
266 return; | |
267 | |
268 for(i = 0; i < ntags; i++) | |
269 sel->tags[i] = False; | |
270 sel->tags[arg->i] = True; | |
271 settitle(sel); | |
272 } | |
273 | |
274 void | |
284 togglemode(Arg *arg) | 275 togglemode(Arg *arg) |
285 { | 276 { |
286 arrange = arrange == dofloat ? dotile : dofloat; | 277 arrange = arrange == dofloat ? dotile : dofloat; |
278 arrange(NULL); | |
279 } | |
280 | |
281 void | |
282 toggletag(Arg *arg) | |
283 { | |
284 unsigned int i; | |
285 | |
286 if(!sel) | |
287 return; | |
288 | |
289 sel->tags[arg->i] = !sel->tags[arg->i]; | |
290 for(i = 0; i < ntags && !sel->tags[i]; i++); | |
291 if(i == ntags) | |
292 sel->tags[arg->i] = True; | |
293 settitle(sel); | |
294 } | |
295 | |
296 | |
297 void | |
298 toggleview(Arg *arg) | |
299 { | |
300 unsigned int i; | |
301 | |
302 seltag[arg->i] = !seltag[arg->i]; | |
303 for(i = 0; i < ntags && !seltag[i]; i++); | |
304 if(i == ntags) | |
305 seltag[arg->i] = True; /* cannot toggle last view */ | |
287 arrange(NULL); | 306 arrange(NULL); |
288 } | 307 } |
289 | 308 |
290 void | 309 void |
291 view(Arg *arg) | 310 view(Arg *arg) |
295 for(i = 0; i < ntags; i++) | 314 for(i = 0; i < ntags; i++) |
296 seltag[i] = False; | 315 seltag[i] = False; |
297 seltag[arg->i] = True; | 316 seltag[arg->i] = True; |
298 arrange(NULL); | 317 arrange(NULL); |
299 } | 318 } |
300 | |
301 void | |
302 toggleview(Arg *arg) | |
303 { | |
304 unsigned int i; | |
305 | |
306 seltag[arg->i] = !seltag[arg->i]; | |
307 for(i = 0; !seltag[i] && i < ntags; i++); | |
308 if(i == ntags) | |
309 seltag[arg->i] = True; /* cannot toggle last view */ | |
310 arrange(NULL); | |
311 } |