Handle IME input - dmenu - dynamic menu | |
git clone git://git.suckless.org/dmenu | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 377bd37e212b1ec4c03a481245603c6560d0be22 | |
parent b6d2cc9aea979cb3557db39dbe65a2870d13e597 | |
Author: Quentin Rameau <[email protected]> | |
Date: Mon, 19 Mar 2018 15:42:28 +0100 | |
Handle IME input | |
Thanks to nzl <[email protected]> for the patch! | |
Diffstat: | |
M dmenu.c | 5 ++++- | |
1 file changed, 4 insertions(+), 1 deletion(-) | |
--- | |
diff --git a/dmenu.c b/dmenu.c | |
@@ -552,7 +552,7 @@ run(void) | |
XEvent ev; | |
while (!XNextEvent(dpy, &ev)) { | |
- if (XFilterEvent(&ev, win)) | |
+ if (XFilterEvent(&ev, None)) | |
continue; | |
switch(ev.type) { | |
case Expose: | |
@@ -664,6 +664,7 @@ setup(void) | |
XNClientWindow, win, XNFocusWindow, win, NULL); | |
XMapRaised(dpy, win); | |
+ XSetInputFocus(dpy, win, RevertToParent, CurrentTime); | |
if (embed) { | |
XSelectInput(dpy, parentwin, FocusChangeMask); | |
if (XQueryTree(dpy, parentwin, &dw, &w, &dws, &du) && dws) { | |
@@ -729,6 +730,8 @@ main(int argc, char *argv[]) | |
if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) | |
fputs("warning: no locale support\n", stderr); | |
+ if (!XSetLocaleModifiers("")) | |
+ fputs("warning: no locale modifiers support\n", stderr); | |
if (!(dpy = XOpenDisplay(NULL))) | |
die("cannot open display"); | |
screen = DefaultScreen(dpy); |