From 377bd37e212b1ec4c03a481245603c6560d0be22 Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Mon, 19 Mar 2018 15:42:28 +0100 Subject: Handle IME input Thanks to nzl for the patch! --- dmenu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); -- cgit v1.2.3