When I set environment XMODIFIERS=@im=xcin,
and also set this line in ~/.Xresources
rxvt*inputMethod: xcin

The XIM server won't get cursor position(in OverTheSpot mode)

This is because the X modifiers become "@im=xcin@im=xcin",
and rxvt think XIM server "xcin@im=xcin" not exist.

Following is my quick fix.

--- src/main.c.orig     Wed Nov 21 14:39:37 2001
+++ src/main.c  Sat May 18 18:28:49 2002
@@ -1186,6 +1186,10 @@
     if ((p = XSetLocaleModifiers(NULL)) != NULL) {
        STRCPY(server, "@server=");
        STRNCAT(server, &(p[4]), IMBUFSIZ - 9); /* skip "@im=" */
+       /* If a given category appears more than once in the list,
+          the first setting in the list is used. */
+       if(strchr(server+1,'@'))
+           *strchr(server+1,'@')='\0';

        atom = XInternAtom(r->Xdisplay, server, False);
        win = XGetSelectionOwner(r->Xdisplay, atom);

Reply via email to