mirror of git://git.suckless.org/dwm
committed a patch which fixes the hints of Jukka
This commit is contained in:
parent
deba5069e5
commit
937cabfa0a
38
client.c
38
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);
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
2
draw.c
2
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();
|
||||
}
|
||||
|
|
2
dwm.h
2
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);
|
||||
|
|
8
tag.c
8
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue