]> git.armaanb.net Git - dmenu.git/blobdiff - dmenu.c
fixed -m bug (thanks Rob)
[dmenu.git] / dmenu.c
diff --git a/dmenu.c b/dmenu.c
index 2193f8229b3eed41eccf3fa041ebbed6803658f9..3c83d73a43812372221b864a561394ee8cd391c4 100644 (file)
--- a/dmenu.c
+++ b/dmenu.c
@@ -76,10 +76,10 @@ main(int argc, char *argv[]) {
                }
                else if(!strcmp(argv[i], "-b"))
                        topbar = False;
-               else if(!strcmp(argv[i], "-i"))
-                       fstrncmp = strncasecmp;
                else if(!strcmp(argv[i], "-f"))
                        fast = True;
+               else if(!strcmp(argv[i], "-i"))
+                       fstrncmp = strncasecmp;
                else if(i == argc-1)
                        goto usage;
                /* double flags */
@@ -506,18 +506,18 @@ setup(void) {
        mh = (lines + 1) * bh;
 #ifdef XINERAMA
        if((info = XineramaQueryScreens(dc->dpy, &n))) {
-               int i, di;
+               int i, m, di;
                unsigned int du;
                Window dw;
 
                XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du);
-               for(i = 0; i < n; i++)
+               for(i = 0, m = -1; i < n; i++)
                        if((monitor == info[i].screen_number)
-                       || (monitor < 0 && INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height)))
-                               break;
-               x = info[i].x_org;
-               y = info[i].y_org + (topbar ? 0 : info[i].height - mh);
-               mw = info[i].width;
+                       || (m < 0 && INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height)))
+                               m = i;
+               x = info[m].x_org;
+               y = info[m].y_org + (topbar ? 0 : info[m].height - mh);
+               mw = info[m].width;
                XFree(info);
        }
        else