# HG changeset patch # User Anselm R. Garbe # Date 1153215932 -7200 # Node ID 6efe82c775c9a2b2d8415858525a5fd6ff374d19 # Parent c498da7520c7ed071321ff60d8f140739103d846 pop on heretag diff -r c498da7520c7 -r 6efe82c775c9 client.c --- a/client.c Tue Jul 18 11:38:31 2006 +0200 +++ b/client.c Tue Jul 18 11:45:32 2006 +0200 @@ -268,6 +268,18 @@ } 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) { XConfigureEvent e; @@ -405,7 +417,7 @@ void zoom(Arg *arg) { - Client **l, *c; + Client *c; if(!sel) return; @@ -415,11 +427,6 @@ 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); } diff -r c498da7520c7 -r 6efe82c775c9 dwm.h --- a/dwm.h Tue Jul 18 11:38:31 2006 +0200 +++ b/dwm.h Tue Jul 18 11:45:32 2006 +0200 @@ -118,6 +118,7 @@ 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); diff -r c498da7520c7 -r 6efe82c775c9 tag.c --- a/tag.c Tue Jul 18 11:38:31 2006 +0200 +++ b/tag.c Tue Jul 18 11:45:32 2006 +0200 @@ -136,7 +136,7 @@ for(i = 0; i < TLast; i++) c->tags[i] = NULL; c->tags[tsel] = tags[tsel]; - arrange(NULL); + pop(c); focus(c); }