You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IME cannot turn off on my system. Even if IME was not enabled for the window, it still receives IME events. set_ime_enabled() has no effect. This can be problematic for applications that don't have IME event handlers.
The relevant code is here. The available styles on my system are: 0x402, 0x404, 0x408, 0x202, 0x204, 0x208. There is no XIM_NONE_STYLE, so the implementation uses the same style (0x402) for "preedit" and "none" modes. None of the available styles actually disable IME.
Setting IME position also doesn't work. There is a comment here, linking to a 20 year old issue. XSetICValues call does, in fact, return an error "preeditAttributes". Does it mean that there is no way to fix it? Setting IME position works in other applications, so it must be possible.
I've played around with other styles. If I enable 0x208 or 0x408, setting IME position actually works, but in these modes the application doesn't receive IME preedit events with actual preedit text (only a single event with an empty preedit, followed by a commit with the final text). So this is also not perfect.
The text was updated successfully, but these errors were encountered:
None of the available styles actually disable IME.
Should be sort of resolved once we update to xcb and our implementation of ime stuff, but with xim I'm not sure we can.
I've played around with other styles. If I enable 0x208 or 0x408, setting IME position actually works, but in these modes the application doesn't receive IME preedit events with actual preedit text (only a single event with an empty preedit, followed by a commit with the final text). So this is also not perfect.
That's unfortunatelly how it works, unless you update xlib.
Setting IME position also doesn't work. There is a comment here, linking to a 20 year old issue. XSetICValues call does, in fact, return an error "preeditAttributes". Does it mean that there is no way to fix it? Setting IME position works in other applications, so it must be possible.
update your xlib, it should work with the most recent one since my patch was accepted to fix xlib.
IME cannot turn off on my system. Even if IME was not enabled for the window, it still receives IME events.
set_ime_enabled()
has no effect. This can be problematic for applications that don't have IME event handlers.The relevant code is here. The available styles on my system are: 0x402, 0x404, 0x408, 0x202, 0x204, 0x208. There is no
XIM_NONE_STYLE
, so the implementation uses the same style (0x402) for "preedit" and "none" modes. None of the available styles actually disable IME.Setting IME position also doesn't work. There is a comment here, linking to a 20 year old issue.
XSetICValues
call does, in fact, return an error "preeditAttributes". Does it mean that there is no way to fix it? Setting IME position works in other applications, so it must be possible.I've played around with other styles. If I enable 0x208 or 0x408, setting IME position actually works, but in these modes the application doesn't receive IME preedit events with actual preedit text (only a single event with an empty preedit, followed by a commit with the final text). So this is also not perfect.
The text was updated successfully, but these errors were encountered: