A fix for the XopenIM() errors.

master
Christoph Lohmann 2013-01-01 13:15:43 +01:00
parent c99db5b017
commit 4e14a4a97f
1 changed files with 11 additions and 3 deletions

14
st.c
View File

@ -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);