A fix for the XopenIM() errors. - st - simple terminal HTML git clone https://git.parazyd.org/st DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 4e14a4a97f7f7ef134fdc25d2fa34c8db7bb6e6c DIR parent c99db5b0170555c5bb0359ac8a8229cdada64b30 HTML Author: Christoph Lohmann <20h@r-36.net> Date: Tue, 1 Jan 2013 13:15:43 +0100 A fix for the XopenIM() errors. Diffstat: M st.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) --- DIR diff --git a/st.c b/st.c @@ -2503,9 +2503,17 @@ xinit(void) { xw.draw = XftDrawCreate(xw.dpy, xw.buf, xw.vis, xw.cmap); /* input methods */ - xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL); - if(xw.xim == NULL) - die("XOpenIM failed. Could not open input device.\n"); + if((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) { + XSetLocaleModifiers("@im=local"); + if((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) { + XSetLocaleModifiers("@im="); + if((xw.xim = XOpenIM(xw.dpy, + NULL, NULL, NULL)) == NULL) { + die("XOpenIM failed. Could not open input" + " device.\n"); + } + } + } xw.xic = XCreateIC(xw.xim, XNInputStyle, XIMPreeditNothing | XIMStatusNothing, XNClientWindow, xw.win, XNFocusWindow, xw.win, NULL);