fixed usage of sx, sy, sw, sh
authorAnselm R Garbe <anselm@garbe.us>
Tue, 30 Jun 2009 20:15:31 +0100
changeset 1434 b0ac204a2c03
parent 1433 a725636d4d81
child 1435 5af9165892ca
fixed usage of sx, sy, sw, sh
dwm.c
--- a/dwm.c	Tue Jun 30 20:00:11 2009 +0100
+++ b/dwm.c	Tue Jun 30 20:15:31 2009 +0100
@@ -124,7 +124,7 @@
 	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 @@
 /* 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 @@
 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 @@
 	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 @@
 	/* 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;
 	}