Support input methods on wayland and actually via wayland#2793
Support input methods on wayland and actually via wayland#2793leolost2605 wants to merge 4 commits intomainfrom
Conversation
f84e4e9 to
b49e2a5
Compare
0440ce9 to
4171677
Compare
|
@ryonakano @danirabbit this should be ready now. I have tested it with the typing booster and pinyin (because for some reason mozc is by default still latin and to change it you need the property bar which we still don't have) however since I don't use input methods any feedback from someone who does would be great :)
Also if somebody knows what sets |
4171677 to
b1ac149
Compare
|
@leolost2605 Thank you very much for your hard work on this! 🎉 I tested this branch with ibus-mozc and enabling it shows the candidate window as expected:
I'm 👍 with the current design, but it looks like the up/down button in the bottom of the popover does nothing for me.
Originally from https://gihyo.jp/admin/serial/01/ubuntu-recipe/0859#sec7_h1:
translated into English:
|
|
Thanks for this implementation (or fix) of ibus usage with elementary. 🤗 |
|
Sorry for the delay to follow up I unfortunately lost access to my laptop :/ |
192d0a5 to
fe7d783
Compare
fe7d783 to
d160b1f
Compare
|
Once again sorry for the delay, I got my new laptop today.
Ok I updated it to also fall back to the default labels if there's an empty string. I hope I addressed every feedback but lmk if I missed some. This should be ready for review again :) |
d160b1f to
40ec078
Compare
40ec078 to
f7931c5
Compare
ryonakano
left a comment
There was a problem hiding this comment.
I'm sorry for my late review. Tested again and left two comments for the previous discussions.
90dc0a8 to
f36c245
Compare
f36c245 to
d53db49
Compare
We will need to handle windows before they are shown for the ibus popup and osk to make sure they get added to the shell group when they are shown.
d53db49 to
7277bc0
Compare
ryonakano
left a comment
There was a problem hiding this comment.
Works for me with ibus-mozc and ibus-pinyin, thank you for your hard work on this!
I'm not familiar with the code base so another review from familiar member is appreciated.
danirabbit
left a comment
There was a problem hiding this comment.
Approve for UX team. Thanks for working on this!
This package sets `GTK_IM_MODULE=ibus` which causes inappropriate position of the IBus candidate window on Wayland. No packages depend on this so we can safely remove it. See also: elementary/gala#2793 (comment)







This implements the plumbing from the wayland text input protocol to ibus. It then also implements a wayland compatible way of presenting the candidate popup.
It's pretty much the GNOME Shell implementation but with the quirk that we do our popup in GTK4 in the daemon.
The candidate popup is built in gtk4 in the daemon so we can do everything with it that GTK4 can do. I decided for now to pretty much 1:1 replicate the gnome one. All of the communication between the daemon and the compositor regarding the actual contents is handled by IBus so we only have to position the popup correctly.
For the popup to be positioned correctly GTK and all other apps have to use the wayland text input protocol as IM module and not IBus directly. While using ibus directly would also work we would have to add some additional communication between daemon and gala and since the wayland protocol is the future and already supported in GTK3 and 4 and used by default if no environment variable is set, I decided to not do that.
However currently something sets GTK_IM_MODULE=ibus and I can't figure out what :( So to test you currently have to start an app with the override GTK_IM_MODULE=wayland.
Kooha-2026-03-26-19-30-45.mp4
Fixes #2529 (at least the candidate popup, the properties are still not shown but I think we should handle them in the keyboard indicator just like GNOME does).
Also first step towards implementing an OSK