Since: 20220624-141144-bd1b7c5d

Control IME preedit rendering. IME preedit is an area that is used to display the string being preedited in IME. WezTerm supports the following IME preedit rendering.

  • "Builtin" - (Default) IME preedit is rendered by WezTerm itself

    "Builtin" rendering provides good look and feel for many IMEs, rendering the text using the same font as the terminal and works in concert with features like window:composition_status().

  • "System" - IME preedit is rendered by system

    "Builtin" rendering may truncate displaying of IME preedit at the end of window if IME preedit is very long because the rendering does not allow the IME preedit to overflow the window and does not wrap IME preedit to the next line. "System" rendering can be useful to avoid the truncated displaying of IME preedit but has a worse look and feel compared to "Builtin" rendering.

You can control IME preedit rendering in your configuraiton file:

return {
  ime_preedit_rendering = "System",

Otherwise, the default is "Builtin".


  • Changing ime_preedit_rendering usually requires re-launching WezTerm to take full effect.
  • In macOS, ime_preedit_rendering has effected nothing yet. IME preedit is always rendered by WezTerm itself.