changed Client->tags and Rule->tags to be Bool (I'll also try to remove the TLast enum)
arg@10ksloc.org unknown
Thu, 03 Aug 2006 10:55:07 +0200
6 files changed,
18 insertions(+),
17 deletions(-)
M
config.arg.h
→
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 @@
#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}, \
M
config.default.h
→
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 @@
#define RULES \ static Rule rule[] = { \ /* class:instance tags isfloat */ \ - { "Firefox.*", { [Tnet] = "net" }, False }, \ + { "Firefox.*", { [Tnet] = True }, False }, \ { "Gimp.*", { 0 }, True}, \ };
M
draw.c
→
draw.c
@@ -30,7 +30,7 @@ XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious);
} static unsigned int -textnw(char *text, unsigned int len) +textnw(const char *text, unsigned int len) { XRectangle r;@@ -156,8 +156,8 @@ dc.w = 0;
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 @@ dc.font.height = dc.font.ascent + dc.font.descent;
} unsigned int -textw(char *text) +textw(const char *text) { return textnw(text, strlen(text)) + dc.font.height; }
M
dwm.h
→
dwm.h
@@ -51,7 +51,6 @@ };
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 @@ long flags;
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();
M
tag.c
→
tag.c
@@ -13,7 +13,7 @@ /* static */
typedef struct { const char *pattern; - char *tags[TLast]; + Bool tags[TLast]; Bool isfloat; } Rule;@@ -30,7 +30,7 @@ {
if(!sel) return; - sel->tags[arg->i] = tags[arg->i]; + sel->tags[arg->i] = True; arrange(NULL); }@@ -146,7 +146,7 @@ if(!sel)
return; for(i = 0; i < TLast; i++) - sel->tags[i] = NULL; + sel->tags[i] = False; appendtag(arg); }@@ -171,7 +171,7 @@ if(!regexec(®ex, classinst, 1, &tmp, 0)) {
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 @@ if(ch.res_name)
XFree(ch.res_name); } if(!matched) - c->tags[tsel] = tags[tsel]; + c->tags[tsel] = True; } void