about summary refs log tree commit diff stats
path: root/view.c
diff options
context:
space:
mode:
authorAnselm R. Garbe <arg@suckless.org>2007-02-19 14:44:05 +0100
committerAnselm R. Garbe <arg@suckless.org>2007-02-19 14:44:05 +0100
commit4cdbd523e5f02f7cf392dda8690f95ce6eaff9dd (patch)
tree57f5e5322fafedd526fc2b3f46804729bfdcc865 /view.c
parentb3d7e07f18f0f69f8c3b3542615da62dfc4c6175 (diff)
downloaddwm-4cdbd523e5f02f7cf392dda8690f95ce6eaff9dd.tar.gz
merged tag.c, view.c and tile.c to manage.c
Diffstat (limited to 'view.c')
-rw-r--r--view.c184
1 files changed, 0 insertions, 184 deletions
diff --git a/view.c b/view.c
deleted file mode 100644
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();
-}
-