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

1
dwm.h
View File

@ -118,6 +118,7 @@ extern void killclient(Arg *arg);
extern void lower(Client *c); extern void lower(Client *c);
extern void manage(Window w, XWindowAttributes *wa); extern void manage(Window w, XWindowAttributes *wa);
extern void maximize(Arg *arg); extern void maximize(Arg *arg);
extern void pop(Client *c);
extern void resize(Client *c, Bool inc); extern void resize(Client *c, Bool inc);
extern void setsize(Client *c); extern void setsize(Client *c);
extern void settitle(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++) for(i = 0; i < TLast; i++)
c->tags[i] = NULL; c->tags[i] = NULL;
c->tags[tsel] = tags[tsel]; c->tags[tsel] = tags[tsel];
arrange(NULL); pop(c);
focus(c); focus(c);
} }