all repos — dwm @ 29f2b15ddc3a1462780340a10738a98a5e9280eb

my dwm build

some cleanup, removed ntags variable, defined NTAGS macro, simplified tag(), view() and idxoftag(), fixed some NULL comparisions
arg@suckless.org unknown
Wed, 24 Oct 2007 16:07:43 +0200
commit

29f2b15ddc3a1462780340a10738a98a5e9280eb

parent

7b65b763bc5ef74071b48192e7174ba8a103bee0

1 files changed, 20 insertions(+), 27 deletions(-)

jump to
M dwm.cdwm.c

@@ -232,10 +232,9 @@

/* configuration, allows nested code to access above variables */ #include "config.h" -/* statically define the number of tags. */ -unsigned int ntags = sizeof tags / sizeof tags[0]; -Bool seltags[sizeof tags / sizeof tags[0]] = {[0] = True}; -Bool prevtags[sizeof tags / sizeof tags[0]] = {[0] = True}; +#define NTAGS (sizeof tags / sizeof tags[0]) +Bool seltags[NTAGS] = {[0] = True}; +Bool prevtags[NTAGS] = {[0] = True}; /* function implementations */ void

@@ -254,7 +253,7 @@ ch.res_name ? ch.res_name : "", c->name);

for(i = 0; i < nrules; i++) if(regs[i].propregex && !regexec(regs[i].propregex, buf, 1, &tmp, 0)) { 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)) { matched = True; c->tags[j] = True;

@@ -313,7 +312,7 @@ XButtonPressedEvent *ev = &e->xbutton;

if(barwin == ev->window) { x = 0; - for(i = 0; i < ntags; i++) { + for(i = 0; i < NTAGS; i++) { x += textw(tags[i]); if(ev->x < x) { if(ev->button == Button1) {

@@ -537,7 +536,7 @@ drawbar(void) {

int i, x; dc.x = dc.y = 0; - for(i = 0; i < ntags; i++) { + for(i = 0; i < NTAGS; i++) { dc.w = textw(tags[i]); if(seltags[i]) { drawtext(tags[i], dc.sel);

@@ -847,10 +846,8 @@ unsigned int

idxoftag(const char *tag) { unsigned int i; - for(i = 0; i < ntags; i++) - if(tags[i] == tag) - return i; - return 0; + for(i = 0; (i < NTAGS) && (tags[i] != tag); i++); + return (i < NTAGS) ? i : 0; } void

@@ -930,7 +927,7 @@ Bool

isvisible(Client *c) { unsigned int i; - for(i = 0; i < ntags; i++) + for(i = 0; i < NTAGS; i++) if(c->tags[i] && seltags[i]) return True; return False;

@@ -1140,7 +1137,7 @@ switch (ev->atom) {

default: break; case XA_WM_TRANSIENT_FOR: XGetTransientForHint(dpy, c->win, &trans); - if(!c->isfloating && (c->isfloating = (getclient(trans) != NULL))) + if(!c->isfloating && (c->isfloating = (NULL != getclient(trans)))) arrange(); break; case XA_WM_NORMAL_HINTS:

@@ -1542,11 +1539,9 @@ unsigned int i;

if(!sel) return; - for(i = 0; i < ntags; i++) - sel->tags[i] = arg == NULL; - i = idxoftag(arg); - if(i >= 0 && i < ntags) - sel->tags[i] = True; + for(i = 0; i < NTAGS; i++) + sel->tags[i] = (NULL == arg); + sel->tags[idxoftag(arg)] = True; arrange(); }

@@ -1662,9 +1657,9 @@ if(!sel)

return; i = idxoftag(arg); sel->tags[i] = !sel->tags[i]; - for(j = 0; j < ntags && !sel->tags[j]; j++); - if(j == ntags) - sel->tags[i] = True; + for(j = 0; j < NTAGS && !sel->tags[j]; j++); + if(j == NTAGS) + sel->tags[i] = True; /* at least one tag must be enabled */ arrange(); }

@@ -1674,8 +1669,8 @@ unsigned int i, j;

i = idxoftag(arg); seltags[i] = !seltags[i]; - for(j = 0; j < ntags && !seltags[j]; j++); - if(j == ntags) + for(j = 0; j < NTAGS && !seltags[j]; j++); + if(j == NTAGS) seltags[i] = True; /* at least one tag must be viewed */ arrange(); }

@@ -1841,11 +1836,9 @@ view(const char *arg) {

unsigned int i; memcpy(prevtags, seltags, sizeof seltags); - for(i = 0; i < ntags; i++) + for(i = 0; i < NTAGS; i++) seltags[i] = arg == NULL; - i = idxoftag(arg); - if(i >= 0 && i < ntags) - seltags[i] = True; + seltags[idxoftag(arg)] = True; arrange(); }