Browse Source

fixed xinerama corner case

master
Connor Lane Smith 13 years ago
parent
commit
86019c5855
1 changed files with 7 additions and 7 deletions
  1. +7
    -7
      dmenu.c

+ 7
- 7
dmenu.c View File

@ -506,18 +506,18 @@ setup(void) {
mh = (lines + 1) * bh; mh = (lines + 1) * bh;
#ifdef XINERAMA #ifdef XINERAMA
if((info = XineramaQueryScreens(dc->dpy, &n))) { if((info = XineramaQueryScreens(dc->dpy, &n))) {
int i, m, di;
int i, di;
unsigned int du; unsigned int du;
Window dw; Window dw;
XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du); XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du);
for(i = 0, m = -1; i < n; i++)
for(i = 0; i < n-1; i++)
if((monitor == info[i].screen_number) if((monitor == info[i].screen_number)
|| (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;
|| (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;
XFree(info); XFree(info);
} }
else else


Loading…
Cancel
Save