pop on heretag

This commit is contained in:
Anselm R. Garbe 2006-07-18 11:45:32 +02:00
parent 4f8b08d330
commit 0aaa9a21f3
3 changed files with 16 additions and 8 deletions

View file

@ -267,6 +267,18 @@ maximize(Arg *arg)
resize(sel, False);
}
void
pop(Client *c)
{
Client **l;
for(l = &clients; *l && *l != c; l = &(*l)->next);
*l = c->next;
c->next = clients; /* pop */
clients = c;
arrange(NULL);
}
void
resize(Client *c, Bool inc)
{
@ -405,7 +417,7 @@ unmanage(Client *c)
void
zoom(Arg *arg)
{
Client **l, *c;
Client *c;
if(!sel)
return;
@ -415,11 +427,6 @@ zoom(Arg *arg)
sel = c;
}
for(l = &clients; *l && *l != sel; l = &(*l)->next);
*l = sel->next;
sel->next = clients; /* pop */
clients = sel;
arrange(NULL);
pop(sel);
focus(sel);
}

1
dwm.h
View file

@ -118,6 +118,7 @@ extern void killclient(Arg *arg);
extern void lower(Client *c);
extern void manage(Window w, XWindowAttributes *wa);
extern void maximize(Arg *arg);
extern void pop(Client *c);
extern void resize(Client *c, Bool inc);
extern void setsize(Client *c);
extern void settitle(Client *c);

2
tag.c
View file

@ -136,7 +136,7 @@ heretag(Arg *arg)
for(i = 0; i < TLast; i++)
c->tags[i] = NULL;
c->tags[tsel] = tags[tsel];
arrange(NULL);
pop(c);
focus(c);
}