about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAnselm R. Garbe <arg@10kloc.org>2006-08-23 18:50:46 +0200
committerAnselm R. Garbe <arg@10kloc.org>2006-08-23 18:50:46 +0200
commit7e597ae204ce94398f8c722e335f20d5a4a30c8a (patch)
tree0a5d9733e2fb01279f6da2abfd2b4a22fc202f19
parentc39df91ab9826ef134bc1484b0d19186790132f3 (diff)
downloaddwm-7e597ae204ce94398f8c722e335f20d5a4a30c8a.tar.gz
updated man page
-rw-r--r--client.c22
-rw-r--r--config.arg.h5
-rw-r--r--draw.c96
-rw-r--r--dwm.18
-rw-r--r--dwm.h2
-rw-r--r--tag.c2
-rw-r--r--view.c8
7 files changed, 69 insertions, 74 deletions
diff --git a/client.c b/client.c
index af0190f..c18d88b 100644
--- a/client.c
+++ b/client.c
@@ -28,19 +28,15 @@ resizetitle(Client *c)
 {
 	int i;
 
-	c->tw = 0;
-	for(i = 0; i < ntags; i++)
-		if(c->tags[i])
-			c->tw += textw(tags[i]);
-	c->tw += textw(c->name);
+	c->tw = textw(c->name);
 	if(c->tw > c->w)
 		c->tw = c->w + 2;
 	c->tx = c->x + c->w - c->tw + 2;
 	c->ty = c->y;
 	if(isvisible(c))
-		XMoveResizeWindow(dpy, c->title, c->tx, c->ty, c->tw, c->th);
+		XMoveResizeWindow(dpy, c->twin, c->tx, c->ty, c->tw, c->th);
 	else
-		XMoveResizeWindow(dpy, c->title, c->tx + 2 * sw, c->ty, c->tw, c->th);
+		XMoveResizeWindow(dpy, c->twin, c->tx + 2 * sw, c->ty, c->tw, c->th);
 
 }
 
@@ -65,7 +61,7 @@ void
 ban(Client *c)
 {
 	XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
-	XMoveWindow(dpy, c->title, c->tx + 2 * sw, c->ty);
+	XMoveWindow(dpy, c->twin, c->tx + 2 * sw, c->ty);
 }
 
 void
@@ -106,7 +102,7 @@ getctitle(Window w)
 	Client *c;
 
 	for(c = clients; c; c = c->next)
-		if(c->title == w)
+		if(c->twin == w)
 			return c;
 	return NULL;
 }
@@ -214,7 +210,7 @@ manage(Window w, XWindowAttributes *wa)
 	twa.background_pixmap = ParentRelative;
 	twa.event_mask = ExposureMask | EnterWindowMask;
 
-	c->title = XCreateWindow(dpy, root, c->tx, c->ty, c->tw, c->th,
+	c->twin = XCreateWindow(dpy, root, c->tx, c->ty, c->tw, c->th,
 			0, DefaultDepth(dpy, screen), CopyFromParent,
 			DefaultVisual(dpy, screen),
 			CWOverrideRedirect | CWBackPixmap | CWEventMask, &twa);
@@ -242,7 +238,7 @@ manage(Window w, XWindowAttributes *wa)
 		sel = c;
 	arrange(NULL);
 	XMapWindow(dpy, c->win);
-	XMapWindow(dpy, c->title);
+	XMapWindow(dpy, c->twin);
 	if(isvisible(c))
 		focus(c);
 }
@@ -329,7 +325,7 @span>double delta;

	if(!isarrange(tile))
		return;
	/* arg handling, manipulate mwfact */
	if(arg == NULL)
		mwfact = MWFACT;
	else if(1 == sscanf(arg, "%lf", &delta)) {
		if(arg[0] != '+' && arg[0] != '-')
			mwfact = delta;
		else
			mwfact += delta;
		if(mwfact < 0.1)
			mwfact = 0.1;
		else if(mwfact > 0.9)
			mwfact = 0.9;
	}
	arrange();
}

void
tile(void) {
	unsigned int i, n, nx, ny, nw, nh, mw, th;
	Client *c;

	for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next))
		n++;

	/* window geoms */
	mw = (n == 1) ? waw : mwfact * waw;
	th = (n > 1) ? wah / (n - 1) : 0;
	if(n > 1 && th < bh)
		th = wah;

	nx = wax;
	ny = way;
	for(i = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) {
		c->ismax = False;
		if(i == 0) { /* master */
			nw = mw - 2 * c->border;
			nh = wah - 2 * c->border;
		}
		else {  /* tile window */
			if(i == 1) {
				ny = way;
				nx += mw;
			}
			nw = waw - mw - 2 * c->border;
			if(i + 1 == n) /* remainder */
				nh = (way + wah) - ny - 2 * c->border;
			else
				nh = th - 2 * c->border;
		}
		resize(c, nx, ny, nw, nh, False);
		if(n > 1 && th != wah)
			ny += nh + 2 * c->border;
		i++;
	}
}

void
zoom(const char *arg) {
	Client *c;

	if(!sel || !isarrange(tile) || sel->isfloating)
		return;
	if((c = sel) == nexttiled(clients))
		if(!(c = nexttiled(c->next)))
			return;
	detach(c);
	attach(c);
	focus(c);
	arrange();
}