tag.c
changeset 262 d659a2dce2b5
parent 261 d6fd632d861c
child 263 118d3e010e5e
equal deleted inserted replaced
261:d6fd632d861c 262:d659a2dce2b5
   179 isvisible(Client *c)
   179 isvisible(Client *c)
   180 {
   180 {
   181 	unsigned int i;
   181 	unsigned int i;
   182 
   182 
   183 	for(i = 0; i < ntags; i++)
   183 	for(i = 0; i < ntags; i++)
   184 		if(c->tags[i] && tsel[i])
   184 		if(c->tags[i] && seltag[i])
   185 			return True;
   185 			return True;
   186 	return False;
   186 	return False;
   187 }
   187 }
   188 
   188 
   189 void
   189 void
   227 		if(ch.res_name)
   227 		if(ch.res_name)
   228 			XFree(ch.res_name);
   228 			XFree(ch.res_name);
   229 	}
   229 	}
   230 	if(!matched)
   230 	if(!matched)
   231 		for(i = 0; i < ntags; i++)
   231 		for(i = 0; i < ntags; i++)
   232 			c->tags[i] = tsel[i];
   232 			c->tags[i] = seltag[i];
   233 }
   233 }
   234 
   234 
   235 void
   235 void
   236 togglemode(Arg *arg)
   236 togglemode(Arg *arg)
   237 {
   237 {
   243 view(Arg *arg)
   243 view(Arg *arg)
   244 {
   244 {
   245 	unsigned int i;
   245 	unsigned int i;
   246 
   246 
   247 	for(i = 0; i < ntags; i++)
   247 	for(i = 0; i < ntags; i++)
   248 		tsel[i] = False;
   248 		seltag[i] = False;
   249 	tsel[arg->i] = True;
   249 	seltag[arg->i] = True;
       
   250 	arrange(NULL);
       
   251 	drawall();
       
   252 }
       
   253 
       
   254 void
       
   255 viewextend(Arg *arg)
       
   256 {
       
   257 	unsigned int i;
       
   258 
       
   259 	seltag[arg->i] = !seltag[arg->i];
       
   260 	for(i = 0; !seltag[i] && i < ntags; i++);
       
   261 	if(i == ntags)
       
   262 		seltag[arg->i] = True; /* cannot toggle last view */
   250 	arrange(NULL);
   263 	arrange(NULL);
   251 	drawall();
   264 	drawall();
   252 }
   265 }
   253 
   266 
   254 void
   267 void
   255 viewnext(Arg *arg)
   268 viewnext(Arg *arg)
   256 {
   269 {
   257 	unsigned int i;
   270 	unsigned int i;
   258 
   271 
   259 	for(i = 0; !tsel[i]; i++);
   272 	for(i = 0; !seltag[i]; i++);
   260 	arg->i = (i < ntags-1) ? i+1 : 0;
   273 	arg->i = (i < ntags-1) ? i+1 : 0;
   261 	view(arg);
   274 	view(arg);
   262 }
   275 }
   263 
   276 
   264 void
   277 void
   265 viewprev(Arg *arg)
   278 viewprev(Arg *arg)
   266 {
   279 {
   267 	unsigned int i;
   280 	unsigned int i;
   268 
   281 
   269 	for(i = 0; !tsel[i]; i++);
   282 	for(i = 0; !seltag[i]; i++);
   270 	arg->i = (i > 0) ? i-1 : ntags-1;
   283 	arg->i = (i > 0) ? i-1 : ntags-1;
   271 	view(arg);
   284 	view(arg);
   272 }
   285 }