changed Client->tags and Rule->tags to be Bool (I'll also try to remove the TLast enum)
This commit is contained in:
		
							
								
								
									
										2
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								client.c
									
									
									
									
									
								
							| @@ -18,7 +18,7 @@ resizetitle(Client *c) | ||||
| 	c->tw = 0; | ||||
| 	for(i = 0; i < TLast; i++) | ||||
| 		if(c->tags[i]) | ||||
| 			c->tw += textw(c->tags[i]); | ||||
| 			c->tw += textw(tags[i]); | ||||
| 	c->tw += textw(c->name); | ||||
| 	if(c->tw > c->w) | ||||
| 		c->tw = c->w + 2; | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
|  | ||||
| enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; | ||||
| #define TAGS \ | ||||
| char *tags[TLast] = { \ | ||||
| const char *tags[TLast] = { \ | ||||
| 	[Tfnord] = "fnord", \ | ||||
| 	[Tdev] = "dev", \ | ||||
| 	[Tnet] = "net", \ | ||||
| @@ -66,7 +66,7 @@ static Key key[] = { \ | ||||
| #define RULES \ | ||||
| static Rule rule[] = { \ | ||||
| 	/* class:instance	tags				isfloat */ \ | ||||
| 	{ "Firefox.*",		{ [Tnet] = "net" },		False }, \ | ||||
| 	{ "Firefox.*",		{ [Tnet] = True },		False }, \ | ||||
| 	{ "Gimp.*",		{ 0 },				True}, \ | ||||
| 	{ "MPlayer.*",		{ 0 },				True}, \ | ||||
| 	{ "Acroread.*",		{ 0 },				True}, \ | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
|  | ||||
| enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; | ||||
| #define TAGS \ | ||||
| char *tags[TLast] = { \ | ||||
| const char *tags[TLast] = { \ | ||||
| 	[Tfnord] = "fnord", \ | ||||
| 	[Tdev] = "dev", \ | ||||
| 	[Tnet] = "net", \ | ||||
| @@ -57,6 +57,6 @@ static Key key[] = { \ | ||||
| #define RULES \ | ||||
| static Rule rule[] = { \ | ||||
| 	/* class:instance	tags				isfloat */ \ | ||||
| 	{ "Firefox.*",		{ [Tnet] = "net" },		False }, \ | ||||
| 	{ "Firefox.*",		{ [Tnet] = True },		False }, \ | ||||
| 	{ "Gimp.*",		{ 0 },				True}, \ | ||||
| }; | ||||
|   | ||||
							
								
								
									
										8
									
								
								draw.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								draw.c
									
									
									
									
									
								
							| @@ -30,7 +30,7 @@ drawborder(void) | ||||
| } | ||||
|  | ||||
| static unsigned int | ||||
| textnw(char *text, unsigned int len) | ||||
| textnw(const char *text, unsigned int len) | ||||
| { | ||||
| 	XRectangle r; | ||||
|  | ||||
| @@ -156,8 +156,8 @@ drawtitle(Client *c) | ||||
| 	for(i = 0; i < TLast; i++) { | ||||
| 		if(c->tags[i]) { | ||||
| 			dc.x += dc.w; | ||||
| 			dc.w = textw(c->tags[i]); | ||||
| 			drawtext(c->tags[i], !istile, True); | ||||
| 			dc.w = textw(tags[i]); | ||||
| 			drawtext(tags[i], !istile, True); | ||||
| 		} | ||||
| 	} | ||||
| 	dc.x += dc.w; | ||||
| @@ -229,7 +229,7 @@ setfont(const char *fontstr) | ||||
| } | ||||
|  | ||||
| unsigned int | ||||
| textw(char *text) | ||||
| textw(const char *text) | ||||
| { | ||||
| 	return textnw(text, strlen(text)) + dc.font.height; | ||||
| } | ||||
|   | ||||
							
								
								
									
										7
									
								
								dwm.h
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								dwm.h
									
									
									
									
									
								
							| @@ -51,7 +51,6 @@ struct DC { /* draw context */ | ||||
|  | ||||
| struct Client { | ||||
| 	char name[256]; | ||||
| 	char *tags[TLast]; | ||||
| 	int proto; | ||||
| 	int x, y, w, h; | ||||
| 	int tx, ty, tw, th; /* title */ | ||||
| @@ -61,13 +60,15 @@ struct Client { | ||||
| 	unsigned int border; | ||||
| 	Bool isfloat; | ||||
| 	Bool ismax; | ||||
| 	Bool tags[TLast]; | ||||
| 	Client *next; | ||||
| 	Client *prev; | ||||
| 	Window win; | ||||
| 	Window title; | ||||
| }; | ||||
|  | ||||
| extern char *tags[TLast], stext[1024]; | ||||
| extern const char *tags[TLast]; | ||||
| extern char stext[1024]; | ||||
| extern int tsel, screen, sx, sy, sw, sh, bx, by, bw, bh, mw; | ||||
| extern void (*handler[LASTEvent])(XEvent *); | ||||
| extern void (*arrange)(Arg *); | ||||
| @@ -104,7 +105,7 @@ extern void drawstatus(); | ||||
| extern void drawtitle(Client *c); | ||||
| extern unsigned long getcolor(const char *colstr); | ||||
| extern void setfont(const char *fontstr); | ||||
| extern unsigned int textw(char *text); | ||||
| extern unsigned int textw(const char *text); | ||||
|  | ||||
| /* event.c */ | ||||
| extern void grabkeys(); | ||||
|   | ||||
							
								
								
									
										10
									
								
								tag.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								tag.c
									
									
									
									
									
								
							| @@ -13,7 +13,7 @@ | ||||
|  | ||||
| typedef struct { | ||||
| 	const char *pattern; | ||||
| 	char *tags[TLast]; | ||||
| 	Bool tags[TLast]; | ||||
| 	Bool isfloat; | ||||
| } Rule; | ||||
|  | ||||
| @@ -30,7 +30,7 @@ appendtag(Arg *arg) | ||||
| 	if(!sel) | ||||
| 		return; | ||||
|  | ||||
| 	sel->tags[arg->i] = tags[arg->i]; | ||||
| 	sel->tags[arg->i] = True; | ||||
| 	arrange(NULL); | ||||
| } | ||||
|  | ||||
| @@ -146,7 +146,7 @@ replacetag(Arg *arg) | ||||
| 		return; | ||||
|  | ||||
| 	for(i = 0; i < TLast; i++) | ||||
| 		sel->tags[i] = NULL; | ||||
| 		sel->tags[i] = False; | ||||
| 	appendtag(arg); | ||||
| } | ||||
|  | ||||
| @@ -171,7 +171,7 @@ settags(Client *c) | ||||
| 					for(j = 0; j < TLast; j++) { | ||||
| 						if(rule[i].tags[j]) | ||||
| 							matched = True; | ||||
| 						c->tags[j] = rule[i].tags[j]; | ||||
| 						c->tags[j] = True; | ||||
| 					} | ||||
| 					c->isfloat = rule[i].isfloat; | ||||
| 				} | ||||
| @@ -184,7 +184,7 @@ settags(Client *c) | ||||
| 			XFree(ch.res_name); | ||||
| 	} | ||||
| 	if(!matched) | ||||
| 		c->tags[tsel] = tags[tsel]; | ||||
| 		c->tags[tsel] = True; | ||||
| } | ||||
|  | ||||
| void | ||||
|   | ||||
		Reference in New Issue
	
	Block a user