Closed asavonic closed 5 years ago
If Qt5 dropped the support for XIM then EXIM won't work with it. Admittedly XIM is obsolete nowadays. If someone can share some insights on how to implement a modern IME with pure X protocols I'm glad to make a new one.
After looking into a Qt5 documentation here and a source code, it seems the only way to provide a custom input method is to write a Qt plugin in C++. Protocol of communication b/w a plugin and an actual input method can be arbitrary, for example IBus plugin (shipped as part of Qt5) uses DBus for comunication.
Anyway, I'll try to implement a plugin for EXIM and get back to you.
Update: WIP on Qt5 plugin: https://github.com/asavonic/exim/tree/master/qt5
So far, the plugin is able to recieve a DBus message with text input and feed it to Qt program. I'm still trying to figure out how to make Emacs emit DBus messages when I type.
@asavonic That sounds really promising.
I'm still trying to figure out how to make Emacs emit DBus messages when I type.
Not sure but shouldn't the events get captured in the plugin side and forwarded to Emacs for processing? If you are searching for a way for Emacs to report back to the plugin then there's a builtin info page for that: (info "dbus")
.
Hi, I've merged this project into EXWM. If you are still working on this, please migrate the issue & code there.
Hi @ch11ng, I'm not actively working on this, but it is still in my todo list.
Hi,
It seems that EXIM does not work with Qt5: all programs that I've tried (nomacs, telegram) completely ignore setting a non-default language. After searching for this problem, I found that XIM is not supported by Qt5: https://bugreports.qt.io/browse/QTBUG-49612?focusedCommentId=334078&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-334078
Is this a configuration issue, or EXIM doesn't support Qt5?