use buffer instead of pointer for mon->ltsymbol

This commit is contained in:
Anselm R Garbe 2009-09-22 09:53:11 +01:00
parent 6f55de8310
commit c45d46ad9a

13
dwm.c
View file

@ -121,7 +121,7 @@ typedef struct {
} Layout; } Layout;
struct Monitor { struct Monitor {
const char *ltsymbol; char ltsymbol[16];
float mfact; float mfact;
int num; int num;
int by; /* bar geometry */ int by; /* bar geometry */
@ -386,7 +386,7 @@ arrange(void) {
showhide(m->stack); showhide(m->stack);
focus(NULL); focus(NULL);
for(m = mons; m; m = m->next) { for(m = mons; m; m = m->next) {
m->ltsymbol = m->lt[m->sellt]->symbol; strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol);
if(m->lt[m->sellt]->arrange) if(m->lt[m->sellt]->arrange)
m->lt[m->sellt]->arrange(m); m->lt[m->sellt]->arrange(m);
restack(m); restack(m);
@ -605,7 +605,7 @@ createmon(void) {
m->topbar = topbar; m->topbar = topbar;
m->lt[0] = &layouts[0]; m->lt[0] = &layouts[0];
m->lt[1] = &layouts[1 % LENGTH(layouts)]; m->lt[1] = &layouts[1 % LENGTH(layouts)];
m->ltsymbol = layouts[0].symbol; strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol);
return m; return m;
} }
@ -1163,17 +1163,14 @@ maprequest(XEvent *e) {
void void
monocle(Monitor *m) { monocle(Monitor *m) {
static char ntext[8];
unsigned int n = 0; unsigned int n = 0;
Client *c; Client *c;
for(c = m->clients; c; c = c->next) for(c = m->clients; c; c = c->next)
if(ISVISIBLE(c)) if(ISVISIBLE(c))
n++; n++;
if(n > 0) { /* override layout symbol */ if(n > 0) /* override layout symbol */
snprintf(ntext, sizeof ntext, "[%d]", n); snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n);
m->ltsymbol = ntext;
}
for(c = nexttiled(m->clients); c; c = nexttiled(c->next)) for(c = nexttiled(m->clients); c; c = nexttiled(c->next))
resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, False); resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, False);
} }