From: Quentin Rameau Date: Mon, 19 Mar 2018 14:42:28 +0000 (+0100) Subject: Handle IME input X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=377bd37e212b1ec4c03a481245603c6560d0be22;p=dmenu.git Handle IME input Thanks to nzl for the patch! --- diff --git a/dmenu.c b/dmenu.c index c852e92..314256f 100644 --- 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);