committed a patch which fixes the hints of Jukka

This commit is contained in:
arg@10ksloc.org 2006-08-01 11:49:19 +02:00
parent deba5069e5
commit 937cabfa0a
4 changed files with 14 additions and 40 deletions

View file

@ -73,8 +73,8 @@ focusnext(Arg *arg)
if(sel->ismax) if(sel->ismax)
togglemax(NULL); togglemax(NULL);
if(!(c = getnext(sel->next, tsel))) if(!(c = getnext(sel->next)))
c = getnext(clients, tsel); c = getnext(clients);
if(c) { if(c) {
higher(c); higher(c);
focus(c); focus(c);
@ -260,37 +260,11 @@ manage(Window w, XWindowAttributes *wa)
arrange(NULL); arrange(NULL);
/* mapping the window now prevents flicker */ /* mapping the window now prevents flicker */
if(c->tags[tsel]) {
XMapRaised(dpy, c->win); XMapRaised(dpy, c->win);
XMapRaised(dpy, c->title); XMapRaised(dpy, c->title);
if(c->tags[tsel])
focus(c); 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 void
resize(Client *c, Bool sizehints, Corner sticky) resize(Client *c, Bool sizehints, Corner sticky)
@ -457,7 +431,7 @@ unmanage(Client *c)
c->next->prev = c->prev; c->next->prev = c->prev;
*l = c->next; *l = c->next;
if(sel == c) { if(sel == c) {
sel = getnext(c->next, tsel); sel = getnext(c->next);
if(!sel) if(!sel)
sel = getprev(c->prev); sel = getprev(c->prev);
if(!sel) if(!sel)
@ -481,8 +455,8 @@ zoom(Arg *arg)
if(!sel) if(!sel)
return; return;
if(sel == getnext(clients, tsel) && sel->next) { if(sel == getnext(clients) && sel->next) {
if((c = getnext(sel->next, tsel))) if((c = getnext(sel->next)))
sel = c; sel = c;
} }

2
draw.c
View file

@ -99,7 +99,7 @@ drawall()
{ {
Client *c; Client *c;
for(c = clients; c; c = getnext(c->next, tsel)) for(c = clients; c; c = getnext(c->next))
drawtitle(c); drawtitle(c);
drawstatus(); drawstatus();
} }

2
dwm.h
View file

@ -133,7 +133,7 @@ extern int xerror(Display *dsply, XErrorEvent *ee);
extern void appendtag(Arg *arg); extern void appendtag(Arg *arg);
extern void dofloat(Arg *arg); extern void dofloat(Arg *arg);
extern void dotile(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 Client *getprev(Client *c);
extern void replacetag(Arg *arg); extern void replacetag(Arg *arg);
extern void settags(Client *c); extern void settags(Client *c);

8
tag.c
View file

@ -63,7 +63,7 @@ dofloat(Arg *arg)
ban(c); ban(c);
} }
if(sel && !sel->tags[tsel]) { if(sel && !sel->tags[tsel]) {
if((sel = getnext(clients, tsel))) { if((sel = getnext(clients))) {
higher(sel); higher(sel);
focus(sel); focus(sel);
} }
@ -126,7 +126,7 @@ dotile(Arg *arg)
ban(c); ban(c);
} }
if(!sel || (sel && !sel->tags[tsel])) { if(!sel || (sel && !sel->tags[tsel])) {
if((sel = getnext(clients, tsel))) { if((sel = getnext(clients))) {
higher(sel); higher(sel);
focus(sel); focus(sel);
} }
@ -135,9 +135,9 @@ dotile(Arg *arg)
} }
Client * 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; return c;
} }