diff options
-rw-r--r-- | dwm.h | 2 | ||||
-rw-r--r-- | tag.c | 12 | ||||
-rw-r--r-- | view.c | 12 |
3 files changed, 7 insertions, 19 deletions
@@ -128,8 +128,6 @@ extern int xerror(Display *dsply, XErrorEvent *ee); /* dwm's X error handler */ /* tag.c */ extern void initrregs(void); /* initialize regexps of rules defined in config.h */ -extern Client *getnext(Client *c); /* returns next visible client */ -extern Client *getprev(Client *c); /* returns previous visible client */ extern void settags(Client *c, Client *trans); /* sets tags of c */ extern void tag(Arg *arg); /* tags c with arg's index */ extern void toggletag(Arg *arg); /* toggles c tags with arg's index */ @@ -31,18 +31,6 @@ static unsigned int len = 0; /* extern */ -Client * -getnext(Client *c) { - for(; c && !isvisible(c); c = c->next); - return c; -} - -Client * -getprev(Client *c) { - for(; c && !isvisible(c); c = c->prev); - return c; -} - void initrregs(void) { unsigned int i; @@ -8,7 +8,7 @@ static Client * nexttiled(Client *c) { - for(c = getnext(c); c && c->isfloat; c = getnext(c->next)); + for(; c && (c->isfloat || !isvisible(c)); c = c->next); return c; } @@ -125,8 +125,9 @@ focusnext(Arg *arg) { if(!sel) return; - if(!(c = getnext(sel->next))) - c = getnext(clients); + for(c = sel->next; c && !isvisible(c); c = c->next); + if(!c) + for(c = clients; c && !isvisible(c); c = c->next); if(c) { focus(c); restack(); @@ -139,9 +140,10 @@ focusprev(Arg *arg) { if(!sel) return; - if(!(c = getprev(sel->prev))) { + for(c = sel->prev; c && !isvisible(c); c = c->prev); + if(!c) { for(c = clients; c && c->next; c = c->next); - c = getprev(c); + for(; c && !isvisible(c); c = c->prev); } if(c) { focus(c); |