# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit 4e14a4a97f7f7ef134fdc25d2fa34c8db7bb6e6c
    parent c99db5b0170555c5bb0359ac8a8229cdada64b30
    Author: Christoph Lohmann <20h@r-36.net>
    Date:   Tue,  1 Jan 2013 13:15:43 +0100

    A fix for the XopenIM() errors.

    Diffstat:
    Mst.c | 14+++++++++++---

    1 file changed, 11 insertions(+), 3 deletions(-)
    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);