local use of xidx is useless, got rid of it, falling back to screen 0 if pointer query fails for whatever reason 7ecadcee
Anselm R Garbe · 2008-07-16 18:39 1 file(s) · +7 −10
dwm.c +7 −10
1558 1558
void
1559 1559
updategeom(void) {
1560 1560
#ifdef XINERAMA
1561 -
	int n;
1562 -
	unsigned int xidx = 0;
1561 +
	int n, i = 0;
1563 1562
	XineramaScreenInfo *info = NULL;
1564 1563
1565 1564
	/* window area geometry */
1566 1565
	if(XineramaIsActive(dpy)) {
1567 1566
		info = XineramaQueryScreens(dpy, &n);
1568 1567
		if(n > 1) {
1569 -
			int di, i, x, y;
1568 +
			int di, x, y;
1570 1569
			unsigned int dui;
1571 1570
			Window dummy;
1572 1571
			if(XQueryPointer(dpy, root, &dummy, &dummy, &x, &y, &di, &di, &dui))
1573 1572
				for(i = 0; i < n; i++)
1574 -
					if(INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height)) {
1575 -
						xidx = i;
1573 +
					if(INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height))
1576 1574
						break;
1577 -
					}
1578 1575
		}
1579 -
		wx = info[xidx].x_org;
1580 -
		wy = showbar && topbar ?  info[xidx].y_org + bh : info[xidx].y_org;
1581 -
		ww = info[xidx].width;
1582 -
		wh = showbar ? info[xidx].height - bh : info[xidx].height;
1576 +
		wx = info[i].x_org;
1577 +
		wy = showbar && topbar ?  info[i].y_org + bh : info[i].y_org;
1578 +
		ww = info[i].width;
1579 +
		wh = showbar ? info[i].height - bh : info[i].height;
1583 1580
		XFree(info);
1584 1581
	}
1585 1582
	else