some cleanup, removed ntags variable, defined NTAGS macro, simplified tag(), view() and idxoftag(), fixed some NULL comparisions
This commit is contained in:
		
							parent
							
								
									7b65b763bc
								
							
						
					
					
						commit
						29f2b15ddc
					
				
							
								
								
									
										47
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								dwm.c
									
									
									
									
									
								
							| @ -232,10 +232,9 @@ Regs *regs = NULL; | |||||||
| /* configuration, allows nested code to access above variables */ | /* configuration, allows nested code to access above variables */ | ||||||
| #include "config.h" | #include "config.h" | ||||||
| 
 | 
 | ||||||
| /* statically define the number of tags. */ | #define NTAGS (sizeof tags / sizeof tags[0]) | ||||||
| unsigned int ntags = sizeof tags / sizeof tags[0]; | Bool seltags[NTAGS] = {[0] = True}; | ||||||
| Bool seltags[sizeof tags / sizeof tags[0]] = {[0] = True}; | Bool prevtags[NTAGS] = {[0] = True}; | ||||||
| Bool prevtags[sizeof tags / sizeof tags[0]] = {[0] = True}; |  | ||||||
| 
 | 
 | ||||||
| /* function implementations */ | /* function implementations */ | ||||||
| void | void | ||||||
| @ -254,7 +253,7 @@ applyrules(Client *c) { | |||||||
| 	for(i = 0; i < nrules; i++) | 	for(i = 0; i < nrules; i++) | ||||||
| 		if(regs[i].propregex && !regexec(regs[i].propregex, buf, 1, &tmp, 0)) { | 		if(regs[i].propregex && !regexec(regs[i].propregex, buf, 1, &tmp, 0)) { | ||||||
| 			c->isfloating = rules[i].isfloating; | 			c->isfloating = rules[i].isfloating; | ||||||
| 			for(j = 0; regs[i].tagregex && j < ntags; j++) { | 			for(j = 0; regs[i].tagregex && j < NTAGS; j++) { | ||||||
| 				if(!regexec(regs[i].tagregex, tags[j], 1, &tmp, 0)) { | 				if(!regexec(regs[i].tagregex, tags[j], 1, &tmp, 0)) { | ||||||
| 					matched = True; | 					matched = True; | ||||||
| 					c->tags[j] = True; | 					c->tags[j] = True; | ||||||
| @ -313,7 +312,7 @@ buttonpress(XEvent *e) { | |||||||
| 
 | 
 | ||||||
| 	if(barwin == ev->window) { | 	if(barwin == ev->window) { | ||||||
| 		x = 0; | 		x = 0; | ||||||
| 		for(i = 0; i < ntags; i++) { | 		for(i = 0; i < NTAGS; i++) { | ||||||
| 			x += textw(tags[i]); | 			x += textw(tags[i]); | ||||||
| 			if(ev->x < x) { | 			if(ev->x < x) { | ||||||
| 				if(ev->button == Button1) { | 				if(ev->button == Button1) { | ||||||
| @ -537,7 +536,7 @@ drawbar(void) { | |||||||
| 	int i, x; | 	int i, x; | ||||||
| 
 | 
 | ||||||
| 	dc.x = dc.y = 0; | 	dc.x = dc.y = 0; | ||||||
| 	for(i = 0; i < ntags; i++) { | 	for(i = 0; i < NTAGS; i++) { | ||||||
| 		dc.w = textw(tags[i]); | 		dc.w = textw(tags[i]); | ||||||
| 		if(seltags[i]) { | 		if(seltags[i]) { | ||||||
| 			drawtext(tags[i], dc.sel); | 			drawtext(tags[i], dc.sel); | ||||||
| @ -847,10 +846,8 @@ unsigned int | |||||||
| idxoftag(const char *tag) { | idxoftag(const char *tag) { | ||||||
| 	unsigned int i; | 	unsigned int i; | ||||||
| 
 | 
 | ||||||
| 	for(i = 0; i < ntags; i++) | 	for(i = 0; (i < NTAGS) && (tags[i] != tag); i++); | ||||||
| 		if(tags[i] == tag) | 	return (i < NTAGS) ? i : 0; | ||||||
| 			return i; |  | ||||||
| 	return 0; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void | void | ||||||
| @ -930,7 +927,7 @@ Bool | |||||||
| isvisible(Client *c) { | isvisible(Client *c) { | ||||||
| 	unsigned int i; | 	unsigned int i; | ||||||
| 
 | 
 | ||||||
| 	for(i = 0; i < ntags; i++) | 	for(i = 0; i < NTAGS; i++) | ||||||
| 		if(c->tags[i] && seltags[i]) | 		if(c->tags[i] && seltags[i]) | ||||||
| 			return True; | 			return True; | ||||||
| 	return False; | 	return False; | ||||||
| @ -1140,7 +1137,7 @@ propertynotify(XEvent *e) { | |||||||
| 			default: break; | 			default: break; | ||||||
| 			case XA_WM_TRANSIENT_FOR: | 			case XA_WM_TRANSIENT_FOR: | ||||||
| 				XGetTransientForHint(dpy, c->win, &trans); | 				XGetTransientForHint(dpy, c->win, &trans); | ||||||
| 				if(!c->isfloating && (c->isfloating = (getclient(trans) != NULL))) | 				if(!c->isfloating && (c->isfloating = (NULL != getclient(trans)))) | ||||||
| 					arrange(); | 					arrange(); | ||||||
| 				break; | 				break; | ||||||
| 			case XA_WM_NORMAL_HINTS: | 			case XA_WM_NORMAL_HINTS: | ||||||
| @ -1542,11 +1539,9 @@ tag(const char *arg) { | |||||||
| 
 | 
 | ||||||
| 	if(!sel) | 	if(!sel) | ||||||
| 		return; | 		return; | ||||||
| 	for(i = 0; i < ntags; i++) | 	for(i = 0; i < NTAGS; i++) | ||||||
| 		sel->tags[i] = arg == NULL; | 		sel->tags[i] = (NULL == arg); | ||||||
| 	i = idxoftag(arg); | 	sel->tags[idxoftag(arg)] = True; | ||||||
| 	if(i >= 0 && i < ntags) |  | ||||||
| 		sel->tags[i] = True; |  | ||||||
| 	arrange(); | 	arrange(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -1662,9 +1657,9 @@ toggletag(const char *arg) { | |||||||
| 		return; | 		return; | ||||||
| 	i = idxoftag(arg); | 	i = idxoftag(arg); | ||||||
| 	sel->tags[i] = !sel->tags[i]; | 	sel->tags[i] = !sel->tags[i]; | ||||||
| 	for(j = 0; j < ntags && !sel->tags[j]; j++); | 	for(j = 0; j < NTAGS && !sel->tags[j]; j++); | ||||||
| 	if(j == ntags) | 	if(j == NTAGS) | ||||||
| 		sel->tags[i] = True; | 		sel->tags[i] = True; /* at least one tag must be enabled */ | ||||||
| 	arrange(); | 	arrange(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -1674,8 +1669,8 @@ toggleview(const char *arg) { | |||||||
| 
 | 
 | ||||||
| 	i = idxoftag(arg); | 	i = idxoftag(arg); | ||||||
| 	seltags[i] = !seltags[i]; | 	seltags[i] = !seltags[i]; | ||||||
| 	for(j = 0; j < ntags && !seltags[j]; j++); | 	for(j = 0; j < NTAGS && !seltags[j]; j++); | ||||||
| 	if(j == ntags) | 	if(j == NTAGS) | ||||||
| 		seltags[i] = True; /* at least one tag must be viewed */ | 		seltags[i] = True; /* at least one tag must be viewed */ | ||||||
| 	arrange(); | 	arrange(); | ||||||
| } | } | ||||||
| @ -1841,11 +1836,9 @@ view(const char *arg) { | |||||||
| 	unsigned int i; | 	unsigned int i; | ||||||
| 
 | 
 | ||||||
| 	memcpy(prevtags, seltags, sizeof seltags); | 	memcpy(prevtags, seltags, sizeof seltags); | ||||||
| 	for(i = 0; i < ntags; i++) | 	for(i = 0; i < NTAGS; i++) | ||||||
| 		seltags[i] = arg == NULL; | 		seltags[i] = arg == NULL; | ||||||
| 	i = idxoftag(arg); | 	seltags[idxoftag(arg)] = True; | ||||||
| 	if(i >= 0 && i < ntags) |  | ||||||
| 		seltags[i] = True; |  | ||||||
| 	arrange(); | 	arrange(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 arg@suckless.org
						arg@suckless.org