about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorarg@10ksloc.org <unknown>2006-08-03 10:55:07 +0200
committerarg@10ksloc.org <unknown>2006-08-03 10:55:07 +0200
commit8cc7f3bace087dfb024a23115c211d82b35614ae (patch)
tree5288e485d560dff018832a5160a19e6c69e93dd4
parent5d3fd3707b262508d1750cf95ac2e2f666be6163 (diff)
downloaddwm-8cc7f3bace087dfb024a23115c211d82b35614ae.tar.gz
changed Client->tags and Rule->tags to be Bool (I'll also try to remove the TLast enum)
-rw-r--r--client.c2
-rw-r--r--config.arg.h4
-rw-r--r--config.default.h4
-rw-r--r--draw.c8
-rw-r--r--dwm.h7
-rw-r--r--tag.c10
6 files changed, 18 insertions, 17 deletions
diff --git a/client.c b/client.c
index b6bda92..f4ed1a0 100644
--- a/client.c
+++ b/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;
diff --git a/config.arg.h b/config.arg.h
index 593e4ea..a3d312c 100644
--- a/config.arg.h
+++ b/config.arg.h
@@ -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}, \
diff --git a/config.default.h b/config.default.h
index 3b6eb16..ec1804f 100644
--- a/config.default.h
+++ b/config.default.h
@@ -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}, \
 };
diff --git a/draw.c b/draw.c
index 4ba5cd6..506a862 100644
--- a/draw.c
+++ b/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;
 }
diff --git a/dwm.h b/dwm.h
index 68b307d..c44da29 100644
--- a/dwm.h
+++ b/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();
diff --git a/tag.c b/tag.c
index f4ddfd9..448ed2a 100644
--- a/tag.c
+++ b/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
a> 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490