diff options
-rw-r--r-- | client.c | 42 | ||||
-rw-r--r-- | draw.c | 2 | ||||
-rw-r--r-- | dwm.h | 2 | ||||
-rw-r--r-- | tag.c | 8 |
4 files changed, 14 insertions, 40 deletions
diff --git a/client.c b/client.c index c20c517..45acf2e 100644 --- a/client.c +++ b/client.c @@ -73,8 +73,8 @@ focusnext(Arg *arg) if(sel->ismax) togglemax(NULL); - if(!(c = getnext(sel->next, tsel))) - c = getnext(clients, tsel); + if(!(c = getnext(sel->next))) + c = getnext(clients); if(c) { higher(c); focus(c); @@ -260,36 +260,10 @@ manage(Window w, XWindowAttributes *wa) arrange(NULL); /* mapping the window now prevents flicker */ - if(c->tags[tsel]) { - XMapRaised(dpy, c->win); - XMapRaised(dpy, c->title); + XMapRaised(dpy, c->win); + XMapRaised(dpy, c->title); + if(c->tags[tsel]) focus(c); - } - else { - XMapRaised(dpy, c->win); - XMapRaised(dpy, c->title); - - } -} - -void -pop(Client *c) -{ - Client **l; - - for(l = &clients; *l && *l != c; l = &(*l)->next); - if(c->prev) - c->prev->next = c->next; - if(c->next) - c->next->prev = c->prev; - *l = c->next; - - c->prev = NULL; - if(clients) - clients->prev = c; - c->next = clients; - clients = c; - arrange(NULL); } void @@ -457,7 +431,7 @@ unmanage(Client *c) c->next->prev = c->prev; *l = c->next; if(sel == c) { - sel = getnext(c->next, tsel); + sel = getnext(c->next); if(!sel) sel = getprev(c->prev); if(!sel) @@ -481,8 +455,8 @@ zoom(Arg *arg) if(!sel) return; - if(sel == getnext(clients, tsel) && sel->next) { - if((c = getnext(sel->next, tsel))) + if(sel == getnext(clients) && sel->next) { + if((c = getnext(sel->next))) sel = c; } diff --git a/draw.c b/draw.c index 0c920e5..4f8594c 100644 --- a/draw.c +++ b/draw.c @@ -99,7 +99,7 @@ drawall() { Client *c; - for(c = clients; c; c = getnext(c->next, tsel)) + for(c = clients; c; c = getnext(c->next)) drawtitle(c); drawstatus(); } diff --git a/dwm.h b/dwm.h index a6a04ca..d18ef20 100644 --- a/dwm.h +++ b/dwm.h @@ -133,7 +133,7 @@ extern int xerror(Display *dsply, XErrorEvent *ee); extern void appendtag(Arg *arg); extern void dofloat(Arg *arg); extern void dotile(Arg *arg); -extern Client *getnext(Client *c, unsigned int t); +extern Client *getnext(Client *c); extern Client *getprev(Client *c); extern void replacetag(Arg *arg); extern void settags(Client *c); diff --git a/tag.c b/tag.c index 67e2498..13e22af 100644 --- a/tag.c +++ b/tag.c @@ -63,7 +63,7 @@ dofloat(Arg *arg) ban(c); } if(sel && !sel->tags[tsel]) { - if((sel = getnext(clients, tsel))) { + if((sel = getnext(clients))) { higher(sel); focus(sel); } @@ -126,7 +126,7 @@ dotile(Arg *arg) ban(c); } if(!sel || (sel && !sel->tags[tsel])) { - if((sel = getnext(clients, tsel))) { + if((sel = getnext(clients))) { higher(sel); focus(sel); } @@ -135,9 +135,9 @@ dotile(Arg *arg) } Client * -getnext(Client *c, unsigned int t) +getnext(Client *c) { - for(; c && !c->tags[t]; c = c->next); + for(; c && !c->tags[tsel]; c = c->next); return c; } |