else
ban(c);
}
- if((sel = getnext(clients))) {
+ if(!sel || !isvisible(sel))
+ sel = getnext(clients);
+ if(sel)
focus(sel);
- restack();
- }
else
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
+ restack();
}
void
else
ban(c);
}
- if((sel = getnext(clients)))
+ if(!sel || !isvisible(sel))
+ sel = getnext(clients);
+ if(sel)
focus(sel);
else
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
sel->tags[i] = False;
sel->tags[arg->i] = True;
settitle(sel);
- arrange(NULL);
+ if(!isvisible(sel))
+ arrange(NULL);
}
void
togglemode(Arg *arg)
{
arrange = arrange == dofloat ? dotile : dofloat;
- arrange(NULL);
+ if(sel)
+ arrange(NULL);
+ else
+ drawstatus();
}
void
if(i == ntags)
sel->tags[arg->i] = True;
settitle(sel);
+ if(!isvisible(sel))
+ arrange(NULL);
}