about summary refs log tree commit diff stats
diff options
context:
space:
mode:
author2019-02-12 19:10:43 +0100
committer2020-11-26 00:34:43 -0800
commitc10954a12ad8abdae6471d6770f91db34c34152e (patch)
tree2ce17a5606115fe8de59c16c8e2b5ed92d1f126c
parentd6351cf625dc8286f7c8717edc8803237810ad45 (diff)
downloaddmenu-c10954a12ad8abdae6471d6770f91db34c34152e.tar.gz
-rw-r--r--dmenu.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/dmenu.c b/dmenu.c
index 08623da..b8399e7 100644
--- a/dmenu.c
+++ b/dmenu.c
@@ -857,8 +857,17 @@ setup(void)
 	                    CWOverrideRedirect | CWBackPixel | CWColormap |  CWEventMask | CWBorderPixel, &swa);
 	XSetClassHint(dpy, win, &ch);
 
-	/* open input methods */
-	xim = XOpenIM(dpy, NULL, NULL, NULL);
+
+	/* input methods */
+	if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL) {
+		XSetLocaleModifiers("@im=local");
+		if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL) {
+			XSetLocaleModifiers("@im=");
+			if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL)
+				die("XOpenIM failed. Could not open input device.\n");
+		}
+	}
+
 	xic = XCreateIC(xim, XNInputStyle, XIMPreeditNothing | XIMStatusNothing,
 	                XNClientWindow, win, XNFocusWindow, win, NULL);