some other fixes, resize contains a minor bug de5b294e
Anselm R Garbe · 2008-02-22 10:34 1 file(s) · +9 −7
dwm.c +9 −7
1276 1276
	XWindowChanges wc;
1277 1277
1278 1278
	m = c->monitor;
1279 -
1280 1279
	if(sizehints) {
1281 1280
		/* set minimum possible */
1282 1281
		if (w < 1)
1325 1324
		x = m->sx;
1326 1325
	if(y + h + 2 * c->border < m->sy)
1327 1326
		y = m->sy;
1327 +
	fprintf(stderr, "resize %d %d %d %d (%d %d %d %d)\n", x, y , w, h, m->sx, m->sy, m->sw, m->sh);
1328 1328
	if(c->x != x || c->y != y || c->w != w || c->h != h) {
1329 1329
		c->x = wc.x = x;
1330 1330
		c->y = wc.y = y;
1605 1605
		m = &monitors[i];
1606 1606
		m->id = i;
1607 1607
1608 -
		if (mcount != 1 && isxinerama) {
1608 +
		if(mcount != 1 && isxinerama) {
1609 1609
			m->sx = info[i].x_org;
1610 1610
			m->sy = info[i].y_org;
1611 1611
			m->sw = info[i].width;
1727 1727
	Client *c, *mc;
1728 1728
1729 1729
	domwfact = dozoom = True;
1730 -
1731 -
	nx = ny = nw = 0; /* gcc stupidity requires this */
1732 -
1730 +
	nx = m->wax;
1731 +
	ny = m->way;
1732 +
	nw = 0;
1733 1733
	for(n = 0, c = nexttiled(clients, m); c; c = nexttiled(c->next, m))
1734 1734
		n++;
1735 1735
1757 1757
			else
1758 1758
				nh = th - 2 * c->border;
1759 1759
		}
1760 +
		fprintf(stderr, "tile %d %d %d %d\n", nx, ny, nw, nh);
1760 1761
		resize(c, nx, ny, nw, nh, RESIZEHINTS);
1761 1762
		if((RESIZEHINTS) && ((c->h < bh) || (c->h > nh) || (c->w < bh) || (c->w > nw)))
1762 1763
			/* client doesn't accept size constraints */
1763 1764
			resize(c, nx, ny, nw, nh, False);
1764 1765
		if(n > 1 && th != m->wah)
1765 1766
			ny = c->y + c->h + 2 * c->border;
1766 -
1767 1767
		i++;
1768 1768
	}
1769 1769
}
1770 +
1770 1771
void
1771 1772
togglebar(const char *arg) {
1772 1773
	if(bpos == BarOff)
1824 1825
1825 1826
void
1826 1827
unmanage(Client *c) {
1828 +
	Monitor *m = c->monitor;
1827 1829
	XWindowChanges wc;
1828 1830
1829 1831
	wc.border_width = c->oldborder;
1842 1844
	XSync(dpy, False);
1843 1845
	XSetErrorHandler(xerror);
1844 1846
	XUngrabServer(dpy);
1845 -
	arrange(NULL);
1847 +
	arrange(m);
1846 1848
}
1847 1849
1848 1850
void