commit 7cf66b443ad1cc9a698db477401b843f3c14184b from: Connor Lane Smith date: Tue Nov 2 12:15:15 2010 UTC -m flag to fix dwm selmon bug commit - 038a78a3f4ac507a819a12035c379c20077a0051 commit + 7cf66b443ad1cc9a698db477401b843f3c14184b blob - 908f5481cc7fa7a3db73077f3e827e7d2dc2286d blob + f0be02a0fa6837a8d87b58830026a36764c12530 --- dmenu.c +++ dmenu.c @@ -42,6 +42,7 @@ static char text[BUFSIZ]; static int bh, mw, mh; static int inputw = 0; static int lines = 0; +static int monitor = -1; static int promptw; static size_t cursor = 0; static const char *font = NULL; @@ -455,7 +456,8 @@ setup(void) { XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du); for(i = 0; i < n; i++) - if(INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height)) + 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); @@ -514,6 +516,8 @@ main(int argc, char *argv[]) { /* double flags */ else if(!strcmp(argv[i], "-l")) lines = atoi(argv[++i]); + else if(!strcmp(argv[i], "-m")) + monitor = atoi(argv[++i]); else if(!strcmp(argv[i], "-p")) prompt = argv[++i]; else if(!strcmp(argv[i], "-fn"))