XIM (X Input Method)
O framework do X11 para digitar idiomas com mais caracteres do que o teclado tem teclas.
Japonês, chinês e coreano são digitados informando sons ou componentes e escolhendo entre candidatos. Isso exige um programa à parte, um método de entrada, entre o teclado e o aplicativo. A interface XIM chegou com o X11R5 em 1991, e um protocolo de rede veio no X11R6 para que o servidor do método de entrada pudesse rodar como processo próprio. O cliente escolhe um estilo de preedit: on-the-spot, dentro do campo de texto; over-the-spot, numa pequena caixa junto ao cursor; off-the-spot, numa área de status.
A variável de ambiente XMODIFIERS=@im=… escolhe o servidor. Frameworks modernos como IBus e fcitx preferem falar direto com GTK e Qt, mas ainda oferecem XIM para programas antigos. Funciona, mais ou menos como uma ponte velha funciona.