+void
+updatewmhints(Client *c) {
+ XWMHints *wmh;
+
+ if((wmh = XGetWMHints(dpy, c->win))) {
+ if(c == sel)
+ sel->isurgent = False;
+ else
+ c->isurgent = (wmh->flags & XUrgencyHint) ? True : False;
+ XFree(wmh);
+ }
+}
+
+
+void
+view(const char *arg) {
+ unsigned int i;
+
+ for(i = 0; i < LENGTH(tags); i++)
+ tmp[i] = (NULL == arg);
+ tmp[idxoftag(arg)] = True;
+
+ if(memcmp(seltags, tmp, TAGSZ) != 0) {
+ memcpy(prevtags, seltags, TAGSZ);
+ memcpy(seltags, tmp, TAGSZ);
+ arrange();
+ }
+}
+
+void
+viewprevtag(const char *arg) {
+
+ memcpy(tmp, seltags, TAGSZ);
+ memcpy(seltags, prevtags, TAGSZ);
+ memcpy(prevtags, tmp, TAGSZ);
+ arrange();
+}
+