fix: multimon: always spawn client on first monitor if specified with -m 0
authorHiltjo Posthuma <hiltjo@codemadness.org>
Sat, 7 Nov 2015 11:43:00 +0000 (12:43 +0100)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Sat, 7 Nov 2015 11:43:00 +0000 (12:43 +0100)
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).

dmenu.c

diff --git a/dmenu.c b/dmenu.c
index 1c2e780..6308fa9 100644 (file)
--- a/dmenu.c
+++ b/dmenu.c
@@ -552,7 +552,7 @@ setup(void)
                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)