summaryrefslogtreecommitdiffstats
path: root/dmenu.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dmenu.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/dmenu.c b/dmenu.c
index 1cd9f61..9d479f9 100644
--- a/dmenu.c
+++ b/dmenu.c
@@ -484,7 +484,7 @@ void
setup(void) {
int x, y, screen = DefaultScreen(dc->dpy);
Window root = RootWindow(dc->dpy, screen);
- XSetWindowAttributes wa;
+ XSetWindowAttributes swa;
#ifdef XINERAMA
int n;
XineramaScreenInfo *info;
@@ -505,9 +505,14 @@ setup(void) {
if((info = XineramaQueryScreens(dc->dpy, &n))) {
int i, di;
unsigned int du;
- Window dw;
+ Window w, dw;
+ XWindowAttributes wa;
- XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du);
+ XGetInputFocus(dc->dpy, &w, &di);
+ if(w != root && XGetWindowAttributes(dc->dpy, w, &wa))
+ XTranslateCoordinates(dc->dpy, root, root, wa.x, wa.y, &x, &y, &dw);
+ else
+ XQueryPointer(dc->dpy, root, &dw, &dw, &x, &y, &di, &di, &du);
for(i = 0; i < n-1; i++)
if(INRECT(x, y, info[i].x_org, info[i].y_org, info[i].width, info[i].height))
break;
@@ -528,13 +533,13 @@ setup(void) {
match();
/* menu window */
- wa.override_redirect = True;
- wa.background_pixmap = ParentRelative;
- wa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask;
+ swa.override_redirect = True;
+ swa.background_pixmap = ParentRelative;
+ swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask;
win = XCreateWindow(dc->dpy, root, x, y, mw, mh, 0,
DefaultDepth(dc->dpy, screen), CopyFromParent,
DefaultVisual(dc->dpy, screen),
- CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
+ CWOverrideRedirect | CWBackPixmap | CWEventMask, &swa);
XMapRaised(dc->dpy, win);
resizedc(dc, mw, mh);
Gravatar Enno Boland (tox) 2-66/+56 2009-09-16next version is 0.2Gravatar Enno Boland (tox) 1-1/+1 2009-09-16auto creation of script.jsGravatar Enno Boland (tox) 1-0/+3 2009-09-16adding user.js support.Gravatar Enno Boland (tox) 1-4/+22 2009-09-13usercss works again.Gravatar Enno Boland (tox) 1-10/+11 2009-09-11Added tag 0.1.2 for changeset bffb0c3c2341Gravatar Enno Boland (tox) 1-0/+1 2009-09-11next will be 0.1.2Gravatar Enno Boland (tox) 1-1/+1 2009-09-11Makefile fixingGravatar Enno Boland (tox) 2-2/+2 2009-09-11Adding README file.Gravatar Enno Boland (tox) 2-1/+26 2009-09-11unfocus should return false; renaming cookie-file.Gravatar Enno Boland (tox) 1-2/+2 2009-09-11surf embeds now itself into another window.Gravatar Enno Boland (tox) 1-8/+9 2009-09-10Added tag 0.1.1 for changeset 3ef997607115Gravatar Enno Boland (tox) 1-0/+1 2009-09-10bugfix releaseGravatar Enno Boland (tox) 1-1/+1 2009-09-10removing unneeded background color.Gravatar Enno Boland (tox) 1-1/+0 2009-09-10rearranging some source.Gravatar Enno Boland (tox) 1-12/+19 2009-09-10adding user stylesheets.Gravatar Enno Boland (tox) 1-10/+21 2009-09-10Added tag 0.1 for changeset 9c8ebcf54061Gravatar Enno Boland (tox) 1-0/+2 2009-09-10dist doesn't work. fixing Makefile.Gravatar Enno Boland (tox) 1-1/+1