summaryrefslogtreecommitdiff
path: root/view.c
diff options
context:
space:
mode:
Diffstat (limited to 'view.c')
-rw-r--r--view.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/view.c b/view.c
index cd07b943..4781b4e6 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;