about summary refs log tree commit diff
diff options
context:
space:
mode:
authorQuentin Rameau <quinq@fifth.space>2018-03-19 15:42:28 +0100
committerHiltjo Posthuma <hiltjo@codemadness.org>2018-04-22 14:09:05 +0200
commit377bd37e212b1ec4c03a481245603c6560d0be22 (patch)
tree1c0dce9b2169056ff28200d02ca7cd85dc7b65c2
parentFix handling of input strings (diff)
downloaddmenu-377bd37e212b1ec4c03a481245603c6560d0be22.tar.gz
dmenu-377bd37e212b1ec4c03a481245603c6560d0be22.tar.bz2
dmenu-377bd37e212b1ec4c03a481245603c6560d0be22.zip
Handle IME input
Thanks to nzl <uruabi@gmail.com> for the patch!
-rw-r--r--dmenu.c5
1 files changed, 4 insertions, 1 deletions
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);