static void buttonpress(XEvent *e);
static void checkotherwm(void);
static void cleanup(void);
-static void clearurgent(void);
+static void clearurgent(Client *c);
static void configure(Client *c);
static void configurenotify(XEvent *e);
static void configurerequest(XEvent *e);
}
void
-clearurgent(void) {
+clearurgent(Client *c) {
XWMHints *wmh;
- Client *c;
-
- for(c = clients; c; c = c->next)
- if(ISVISIBLE(c) && c->isurgent) {
- c->isurgent = False;
- if (!(wmh = XGetWMHints(dpy, c->win)))
- continue;
- wmh->flags &= ~XUrgencyHint;
- XSetWMHints(dpy, c->win, wmh);
- XFree(wmh);
- }
+ c->isurgent = False;
+ if(!(wmh = XGetWMHints(dpy, c->win)))
+ return;
+ wmh->flags &= ~XUrgencyHint;
+ XSetWMHints(dpy, c->win, wmh);
+ XFree(wmh);
}
void
XSetWindowBorder(dpy, sel->win, dc.norm[ColBorder]);
}
if(c) {
+ if(c->isurgent)
+ clearurgent(c);
detachstack(c);
attachstack(c);
grabbuttons(c, True);
h = wh;
for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) {
- if(i + 1 == n) { /* remainder */
- if(wy + wh - y < bh)
- resize(c, x, y, w - 2 * c->bw, wy + wh - y - 2 * c->bw, False);
- else
- resize(c, x, y, w - 2 * c->bw, wy + wh - y - 2 * c->bw, resizehints);
- }
- else
- resize(c, x, y, w - 2 * c->bw, h - 2 * c->bw, resizehints);
+ resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n)
+ ? wy + wh - y - 2 * c->bw : h - 2 * c->bw), resizehints);
if(h != wh)
y = c->y + HEIGHT(c);
}
if(mask) {
tagset[seltags] = mask;
- clearurgent();
arrange();
}
}
seltags ^= 1; /* toggle sel tagset */
if(arg->ui & TAGMASK)
tagset[seltags] = arg->ui & TAGMASK;
- clearurgent();
arrange();
}