diff options
author | arg@10ksloc.org <unknown> | 2006-07-21 07:37:52 +0200 |
---|---|---|
committer | arg@10ksloc.org <unknown> | 2006-07-21 07:37:52 +0200 |
commit | cd8d8e120857329800e93e22572e35560d1b0e80 (patch) | |
tree | d8558f0a5e9c80c63947562f53752e71602ed241 /client.c | |
parent | 04eb016e782743ec88f150ec6f5389703bed3ce2 (diff) | |
download | dwm-cd8d8e120857329800e93e22572e35560d1b0e80.tar.gz |
sanitization of several clunky stuff, removed heretag (rarely of use), simplified pop(), changed shortcuts to always contain MODKEY
Diffstat (limited to 'client.c')
-rw-r--r-- | client.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/client.c b/client.c index 4afa705..c20c517 100644 --- a/client.c +++ b/client.c @@ -476,7 +476,7 @@ unmanage(Client *c) void zoom(Arg *arg) { - Client *c; + Client *c, **l; if(!sel) return; @@ -486,6 +486,19 @@ zoom(Arg *arg) sel = c; } - pop(sel); + /* pop */ + for(l = &clients; *l && *l != sel; l = &(*l)->next); + if(sel->prev) + sel->prev->next = sel->next; + if(sel->next) + sel->next->prev = sel->prev; + *l = sel->next; + + sel->prev = NULL; + if(clients) + clients->prev = sel; + sel->next = clients; + clients = sel; + arrange(NULL); focus(sel); } |