x11: add workaround for disabling IME on gnome

GNOME doesn't list that there's a _NONE_ style at all, but it still
works if you use it.
This commit is contained in:
Kirill Chibisov 2024-12-23 23:38:46 +03:00 committed by John Nunley
parent 6896de5b73
commit 5ea81efc74
2 changed files with 4 additions and 1 deletions

View file

@ -71,6 +71,7 @@ changelog entry.
- Added `Window::safe_area`, which describes the area of the surface that is unobstructed.
- On X11, Wayland, Windows and macOS, improved scancode conversions for more obscure key codes.
- Add ability to make non-activating window on macOS using `NSPanel` with `NSWindowStyleMask::NonactivatingPanel`.
- On X11, add a workaround for disabling IME on GNOME.
### Changed

View file

@ -82,7 +82,9 @@ impl InputMethod {
}
let preedit_style = preedit_style.unwrap_or_else(|| none_style.unwrap());
let none_style = none_style.unwrap_or(preedit_style);
// Always initialize none style even when it's not advertised, since it seems to work
// regardless...
let none_style = none_style.unwrap_or(Style::None(XIM_NONE_STYLE));
Some(InputMethod { im, _name: name, preedit_style, none_style })
}