This was always broken.
Reproduce:
focus client on second monitor, spawn dmenu with -m 0.
Result:
Old wrong behaviour: dmenu spawns on second monitor (focused client).
Now: dmenu spawns on specified monitor (first).
XGetInputFocus(dpy, &w, &di);
if (mon != -1 && mon < n)
i = mon;
- if (!i && w != root && w != PointerRoot && w != None) {
+ else if (w != root && w != PointerRoot && w != None) {
/* find top-level window containing current input focus */
do {
if (XQueryTree(dpy, (pw = w), &dw, &w, &dws, &du) && dws)