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 }