about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAnselm R Garbe <anselm@garbe.us>2009-06-30 20:15:31 +0100
committerAnselm R Garbe <anselm@garbe.us>2009-06-30 20:15:31 +0100
commit9cde6570cce2a0924ab7b7358b09b4cbf644b7b8 (patch)
tree02f17545cdec4626e2c5f309d19ef4633a781e85
parente408ca97d848949d5971ab70b26ebc6930c8fdd9 (diff)
downloaddwm-9cde6570cce2a0924ab7b7358b09b4cbf644b7b8.tar.gz
fixed usage of sx, sy, sw, sh
-rw-r--r--dwm.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/dwm.c b/dwm.c
index f20861e..5c27113 100644
--- a/dwm.c
+++ b/dwm.c
@@ -124,7 +124,7 @@ struct Monitor {
 	int screen_number;
 	float mfact;
 	int by, btx;          /* bar geometry */
-	int mx, my, mw, mh;           /* screen size */
+	int mx, my, mw, mh;   /* screen size */
 	int wx, wy, ww, wh;   /* window area  */
 	unsigned int seltags;
 	unsigned int sellt;
@@ -239,7 +239,7 @@ static void tagmon(const Arg *arg);
 /* variables */
 static char stext[256];
 static int screen;
-static int sx, sy, sw, sh;   /* X display screen geometry x, y, width, height */
+static int sw, sh;   /* X display screen geometry x, y, width, height */
 static int bh, blw = 0;      /* bar geometry */
 static int (*xerrorxlib)(Display *, XErrorEvent *);
 static unsigned int numlockmask = 0;
@@ -302,19 +302,20 @@ applyrules(Client *c) {
 Bool
 applysizehints(Client *c, int *x, int *y, int *w, int *h) {
 	Bool baseismin;
+	Monitor *m = c->mon;
 
 	/* set minimum possible */
 	*w = MAX(1, *w);
 	*h = MAX(1, *h);
 
-	if(*x > sx + sw)
-		*x = sw - WIDTH(c);
-	if(*y > sy + sh)
-		*y = sh - HEIGHT(c);
-	if(*x + *w + 2 * c->bw < sx)
-		*x = sx;
-	if(*y + *h + 2 * c->bw < sy)
-		*y = sy;
+	if(*x > m->mx + m->mw)
+		*x = m->mw - WIDTH(c);
+	if(*y > m->my + m->mh)
+		*y = m->mh - HEIGHT(c);
+	if(*x + *w + 2 * c->bw < m->mx)
+		*x = m->mx;
+	if(*y + *h + 2 * c->bw < m->my)
+		*y = m->my;
 	if(*h < bh)
 		*h = bh;
 	if(*w < bh)
@@ -1429,8 +1430,6 @@ setup(void) {
 	screen = DefaultScreen(dpy);
 	root = RootWindow(dpy, screen);
 	initfont(font);
-	sx = 0;
-	sy = 0;
 	sw = DisplayWidth(dpy, screen);
 	sh = DisplayHeight(dpy, screen);
 	bh = dc.h = dc.font.height + 2;
@@ -1735,8 +1734,8 @@ updategeom(void) {
 	/* default monitor setup */
 	{
 		m->screen_number = 0;
-		m->wx = sx;
-		m->my = m->wy = sy;
+		m->wx = 0;
+		m->my = m->wy = 0;
 		m->ww = sw;
 		m->mh = m->wh = sh;
 	}