certain fixes, though still a lot of the mutex stuff missing 2bfd3fff
anselm@anselm1 · 2008-02-25 22:19 1 file(s) · +4 −6
dwm.c +4 −6
560 560
	Client *c;
561 561
562 562
	dc.x = 0;
563 -
	for(c = stack; c && !isvisible(c); c = c->snext);
563 +
	for(c = stack; c && (!isvisible(c) || getview(c) != v); c = c->snext);
564 564
	for(i = 0; i < LENGTH(tags); i++) {
565 565
		dc.w = textw(tags[i]);
566 -
		if(seltags[i]) {
566 +
		if(seltags[i] && seltags[i] == v->id) {
567 567
			drawtext(v, tags[i], dc.sel, isurgent(i));
568 568
			drawsquare(v, c && c->tags[i], isoccupied(i), isurgent(i), dc.sel);
569 569
		}
724 724
	if(selview != v)
725 725
		drawbar(v);
726 726
	if(!c || (c && !isvisible(c)))
727 -
		for(c = stack; c && !isvisible(c); c = c->snext);
727 +
		for(c = stack; c && (!isvisible(c) || getview(c) != selview); c = c->snext);
728 728
	if(sel && sel != c) {
729 729
		grabbuttons(sel, False);
730 730
		XSetWindowBorder(dpy, sel->win, dc.norm[ColBorder]);
1156 1156
	XQueryPointer(dpy, root, &win, &win, &x, &y, &i, &i, &mask);
1157 1157
	for(i = 0; i < nviews; i++) {
1158 1158
		if((x >= views[i].x && x < views[i].x + views[i].w)
1159 -
		&& (y >= views[i].y && y < views[i].y + views[i].h)) {
1159 +
		&& (y >= views[i].y && y < views[i].y + views[i].h))
1160 1160
			return &views[i];
1161 -
		}
1162 1161
	}
1163 1162
	return NULL;
1164 1163
}
1761 1760
			else
1762 1761
				nh = th - 2 * c->border;
1763 1762
		}
1764 -
		fprintf(stderr, "tile %d %d %d %d\n", nx, ny, nw, nh);
1765 1763
		resize(c, nx, ny, nw, nh, RESIZEHINTS);
1766 1764
		if((RESIZEHINTS) && ((c->h < bh) || (c->h > nh) || (c->w < bh) || (c->w > nw)))
1767 1765
			/* client doesn't accept size constraints */