input methods not working under wayland (sway) since 3.24.32
Hi!
I recently noticed that input methods were no longer working for me on gtk-based apps (like gedit or firefox) under sway. Using gedit as a testbed, I narrowed the regression down to have occurred somewhere between version 3.24.31 and 3.24.32, and then used git bisect to identify the problematic commit as b5d0c44a, which introduced changes to the build system. Investigating further, it appears that the gtk-query-immodules
invocation executed by the old build-aux/meson/post-install.py
script might not be done by meson's gnome.post_install()
, with which it was replaced in the mentioned commit. This appears to be supported by the fact that the file immodules.cache
(which is generated by that command) is missing in builds run with gnome.post_install(), compared to builds run with the old post-install script (shown here on nixos, but I verified that on debian too):
$ diff -rq /nix/store/bvm5whq4lm2mxqzgq79bral0gvm54qxm-gtk+3-3.24.31 /nix/store/ibnaa4d3d4xq4whd0i27b6lz70dsphjb-gtk+3-3.24.31 | grep "Only in"
Only in /nix/store/bvm5whq4lm2mxqzgq79bral0gvm54qxm-gtk+3-3.24.31/lib/gtk-3.0/3.0.0: immodules.cache
However, I have no experience with gnome's build system (as well as the significance of immodules.cache, which seems to be at least related to input methods) and would very much appreciate input from someone more knowledgeable here.
Steps to reproduce
- start gedit (version 41.0) or the gtk3-demo using a version of gtk between 3.24.32 and 3.24.33, under wayland, with WAYLAND_DEBUG=1
- search for text_input in the resulting log
Current behavior (present since version 3.24.32)
The program does not request zwp_text_input_manager_v3.get_text_input
from the wayland compositor.
Expected outcome (present up to version 3.24.31)
The program requests zwp_text_input_manager_v3.get_text_input
from the wayland compositor so that it can receive input method events.
Version information
- gtk versions 3.24.32 and 3.24.33
- oses:
- nixos unstable, version
22.05pre372961.e10da1c7f54 (Quokka)
(using the nixpkgs derivation, build configuration see below) - debian 11 (building to /opt/gtk, as mentioned by the build guide, otherwise default configuration)
- nixos unstable, version
If you built GTK yourself, the list of options used to configure the build
Is this part of the build output helpful to you here?
Message:
------
GTK+ 3.24.31 (3.0)
Display backends: broadway wayland x11 [disabled: quartz win32]
Print backends: file lpr cups [disabled: papi test]
Cloud support: false
Colord support: auto
Profiler: false
Introspection: true
Documentation: true
Man pages: false
Build tests: false
Installed tests: false
Demos: true
Examples: true
Thanks for your attention,
Thekla