JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
merged tag.c, view.c and tile.c to manage.c
[dwm.git] / view.c
diff --git a/view.c b/view.c
deleted file mode 100644 (file)
index 4781b4e..0000000
--- a/view.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com>
- * See LICENSE file for license details.
- */
-#include "dwm.h"
-
-/* extern */
-
-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;
-
-       for(c = clients; c; c = c->next) {
-               if(isvisible(c)) {
-                       if(c->isbanned)
-                               XMoveWindow(dpy, c->win, c->x, c->y);
-                       c->isbanned = False;
-                       resize(c, c->x, c->y, c->w, c->h, True);
-               }
-               else {
-                       c->isbanned = True;
-                       XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
-               }
-       }
-       if(!sel || !isvisible(sel)) {
-               for(c = stack; c && !isvisible(c); c = c->snext);
-               focus(c);
-       }
-       restack();
-}
-
-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;
-   
-       if(!sel)
-               return;
-       for(c = sel->next; c && !isvisible(c); c = c->next);
-       if(!c)
-               for(c = clients; c && !isvisible(c); c = c->next);
-       if(c) {
-               focus(c);
-               restack();
-       }
-}
-
-void
-focusprev(Arg *arg) {
-       Client *c;
-
-       if(!sel)
-               return;
-       for(c = sel->prev; c && !isvisible(c); c = c->prev);
-       if(!c) {
-               for(c = clients; c && c->next; c = c->next);
-               for(; c && !isvisible(c); c = c->prev);
-       }
-       if(c) {
-               focus(c);
-               restack();
-       }
-}
-
-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;
-
-       for(i = 0; i < ntags; i++)
-               if(c->tags[i] && seltag[i])
-                       return True;
-       return False;
-}
-
-Client *
-nextmanaged(Client *c) {
-       for(; c && (c->isfloat || !isvisible(c)); c = c->next);
-       return c;
-}
-
-void
-restack(void) {
-       Client *c;
-       XEvent ev;
-
-       drawstatus();
-       if(!sel)
-               return;
-       if(sel->isfloat || arrange == dofloat)
-               XRaiseWindow(dpy, sel->win);
-       if(arrange != dofloat) {
-               if(!sel->isfloat)
-                       XLowerWindow(dpy, sel->win);
-               for(c = nextmanaged(clients); c; c = nextmanaged(c->next)) {
-                       if(c == sel)
-                               continue;
-                       XLowerWindow(dpy, c->win);
-               }
-       }
-       XSync(dpy, False);
-       while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
-}
-
-void
-togglefloat(Arg *arg) {
-       if(!sel || arrange == dofloat)
-               return;
-       sel->isfloat = !sel->isfloat;
-       arrange();
-}
-
-void
-togglemode(Arg *arg) {
-       arrange = (arrange == dofloat) ? dotile : dofloat;
-       if(sel)
-               arrange();
-       else
-               drawstatus();
-}
-
-void
-toggleview(Arg *arg) {
-       unsigned int i;
-
-       seltag[arg->i] = !seltag[arg->i];
-       for(i = 0; i < ntags && !seltag[i]; i++);
-       if(i == ntags)
-               seltag[arg->i] = True; /* cannot toggle last view */
-       arrange();
-}
-
-void
-view(Arg *arg) {
-       unsigned int i;
-
-       for(i = 0; i < ntags; i++)
-               seltag[i] = (arg->i == -1) ? True : False;
-       if(arg->i >= 0 && arg->i < ntags)
-               seltag[arg->i] = True;
-       arrange();
-}
-