all repos — dwm @ 8cc7f3bace087dfb024a23115c211d82b35614ae

my dwm build

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
commit

8cc7f3bace087dfb024a23115c211d82b35614ae

parent

5d3fd3707b262508d1750cf95ac2e2f666be6163

6 files changed, 18 insertions(+), 17 deletions(-)

jump to
M client.cclient.c

@@ -18,7 +18,7 @@

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;
M config.arg.hconfig.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.hconfig.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.cdraw.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.hdwm.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.ctag.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(&regex, 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