-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
[X11] Clean up IME inconsistencies #20201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
* Fix where combinations like `GTK_IM_MODULE=none XMODIFIERS=@im=fcitx` can actually enable IME instead of forbid it - this is consistent with `AvaloniaX11Platform.EnableIme()` * XIM should always be used if none of `IM_MODULE` is set (instead of only when they are explicitly set to `xim`)
| if (Environment.GetEnvironmentVariable("AVALONIA_IM_MODULE") == "none" | ||
| || Environment.GetEnvironmentVariable("GTK_IM_MODULE") == "none" | ||
| || Environment.GetEnvironmentVariable("QT_IM_MODULE") == "none") | ||
| return true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could not understand why this ever returns true - that's exactly the opposite of what AvaloniaX11Platform.EnableIme() is doing (it disables IME when AVALONIA_IM_MODULE is set to none)
|
You can test this PR using the following package version. |
|
Attempting to use XIM with ibus on plain X11 was freezing the app for me during the initial testing. |
|
I think we should properly parse |
That was my initial implementation (parse P.S.: XIM+fcitx under KDE Plasma X11 session works fine so definitely an ibus issue |
…-Bus before falling back to XIM
|
You can test this PR using the following package version. |
This fixes #19963
XMODIFIERS=@im=fcitxalone should make IME work.*_IM_MODULEshould not be required.GTK_IM_MODULE=none XMODIFIERS=@im=fcitxcan actually enable IME instead of forbid it - this is consistent withAvaloniaX11Platform.EnableIme()IM_MODULEis set (instead of only when they are explicitly set toxim)