X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=view.c;h=4781b4e6c4448b05c970ca9687ccdfa01cf37bc5;hb=b3d7e07f18f0f69f8c3b3542615da62dfc4c6175;hp=cd07b9439672624cefcb18c548d5617928bedae7;hpb=30af19d4426ca32dc38318bbe87534cc44484998;p=dwm.git diff --git a/view.c b/view.c index cd07b94..4781b4e 100644 --- a/view.c +++ b/view.c @@ -8,6 +8,20 @@ void (*arrange)(void) = DEFMODE; void +attach(Client *c) { + if(clients) + clients->prev = c; + c->next = clients; + clients = c; +} + +void +attachstack(Client *c) { + c->snext = stack; + stack = c; +} + +void dofloat(void) { Client *c; @@ -31,6 +45,24 @@ dofloat(void) { } void +detach(Client *c) { + if(c->prev) + c->prev->next = c->next; + if(c->next) + c->next->prev = c->prev; + if(c == clients) + clients = c->next; + c->next = c->prev = NULL; +} + +void +detachstack(Client *c) { + Client **tc; + for(tc=&stack; *tc && *tc != c; tc=&(*tc)->snext); + *tc = c->snext; +} + +void focusnext(Arg *arg) { Client *c; @@ -62,6 +94,16 @@ focusprev(Arg *arg) { } } +Client * +getclient(Window w) { + Client *c; + + for(c = clients; c; c = c->next) + if(c->win == w) + return c; + return NULL; +} + Bool isvisible(Client *c) { unsigned int i;