applied Andreas Amann's netwm_active_window patch, thx c1128417
anselm@garbe.us · 2012-03-25 17:46 1 file(s) · +12 −3
dwm.c +12 −3
499 499
		cleanupmon(mons);
500 500
	XSync(dpy, False);
501 501
	XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
502 +
	XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
502 503
}
503 504
504 505
void
858 859
		XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]);
859 860
		setfocus(c);
860 861
	}
861 -
	else
862 +
	else {
862 863
		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
864 +
		XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
865 +
	}
863 866
	selmon->sel = c;
864 867
	drawbars();
865 868
}
1527 1530
1528 1531
void
1529 1532
setfocus(Client *c) {
1530 -
	if(!c->neverfocus)
1533 +
	if(!c->neverfocus) {
1531 1534
		XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
1535 +
		XChangeProperty(dpy, root, netatom[NetActiveWindow],
1536 +
 		                XA_WINDOW, 32, PropModeReplace,
1537 +
 		                (unsigned char *) &(c->win), 1);
1538 +
	}
1532 1539
	sendevent(c, wmatom[WMTakeFocus]);
1533 1540
}
1534 1541
1786 1793
		return;
1787 1794
	grabbuttons(c, False);
1788 1795
	XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]);
1789 -
	if(setfocus)
1796 +
	if(setfocus) {
1790 1797
		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
1798 +
		XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
1799 +
	}
1791 1800
}
1792 1801
1793 1802
void