dmenu

my fork of dmenu
Index Commits Files Refs README LICENSE
commit 377bd37e212b1ec4c03a481245603c6560d0be22
parent b6d2cc9aea979cb3557db39dbe65a2870d13e597
Author: Quentin Rameau <quinq@fifth.space>
Date:   Mon, 19 Mar 2018 15:42:28 +0100

Handle IME input

Thanks to nzl <uruabi@gmail.com> for the patch!

Diffstat:
Mdmenu.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);