diff options
Diffstat (limited to 'dmenu.c')
-rw-r--r-- | dmenu.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -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 |