ch11ng / exwm

Emacs X Window Manager
2.85k stars 135 forks source link

exwm-xim stopped working after updates #872

Open tazjin opened 2 years ago

tazjin commented 2 years ago

Hey! X input methods through XMODIFIERS=@im=exwm-xim stopped working completely for me after a recent system upgrade. The only X applications I use regularly are Chrome and Firefox (where it stopped working) and Quassel (it never worked there because Qt has no support for xim).

I'm running NixOS and tracked the change down to the following diff of packages. Can try to make this diff more minimal, as some of these packages are surely unrelated (but included here for completeness sake):

<<< system-144-link
>>> system-145-link
Version changes:
[U*]  #01  NetworkManager-fortisslvpn-gnome  1.2.10 -> 1.4.0
[U.]  #02  acpi-call                         1.2.2-5.16.15 -> 1.2.2-5.17
[U*]  #03  adwaita-icon-theme                41.0 -> 42.0
[U.]  #04  at-spi2-core                      2.42.0 -> 2.44.0
[U*]  #05  direnv                            2.30.3 -> 2.31.0
[U.]  #06  emacs-company                     20220310.2313 -> 20220328.155
[U.]  #07  emacs-eglot                       20220320.1653 -> 20220329.1217
[U.]  #08  emacs-eldoc                       1.11.0 -> 1.11.1
[U.]  #09  emacs-exwm                        20220210.0 -> 20220324.0
[U.]  #10  emacs-git-commit                  20220222.1036 x2 -> 20220328.47 x2
[U.]  #11  emacs-haskell-mode                20220312.1521 -> 20220328.1617
[U.]  #12  emacs-lsp-mode                    20220320.1029 -> 20220328.1429
[U.]  #13  emacs-magit                       20220321.1312 x2 -> 20220329.1156 x2
[U.]  #14  emacs-magit-section               20220311.1044 x2 -> 20220329.1154 x2
[U.]  #15  emacs-multiple-cursors            20211112.2223 -> 20220328.1724
[U.]  #16  emacs-transient                   20220314.1605 x2 -> 20220325.1619 x2
[U*]  #17  firefox                           98.0.1 -> 98.0.2
[U.]  #18  firefox-unwrapped                 98.0.1 -> 98.0.2
[U*]  #19  fish                              3.4.0, 3.4.0-fish-completions, 3.4.0_fish-completions -> 3.4.1, 3.4.1-fish-completions, 3.4.1_fish-completions
[U.]  #20  gdk-pixbuf                        2.42.6 -> 2.42.8
[U.]  #21  glib                              2.70.3, 2.70.3-bin, 2.70.3-dev -> 2.72.0, 2.72.0-bin, 2.72.0-dev
[U.]  #22  glib-networking                   2.70.1 -> 2.72.0
[U.]  #23  gobject-introspection             1.70.0 -> 1.72.0
[U*]  #24  google-chrome                     99.0.4844.74, 99.0.4844.74_fish-completions -> 99.0.4844.84, 99.0.4844.84_fish-completions
[U.]  #25  gsettings-desktop-schemas         41.0 -> 42.0
[U*]  #26  gtk+3                             3.24.31 -> 3.24.33
[U.]  #27  gtksourceview                     4.8.2 -> 4.8.3
[U.]  #28  initrd-linux                      5.16.15 -> 5.17
[U.]  #29  libbluray                         1.3.0 -> 1.3.1
[U.]  #30  libgphoto2                        2.5.28 -> 2.5.29
[U.]  #31  libical                           3.0.11 -> 3.0.14
[U.]  #32  libnma                            1.8.34 -> 1.8.36 x2
[U.]  #33  librsvg                           2.52.6 -> 2.54.0
[U.]  #34  libsecret                         0.20.4 -> 0.20.5
[C.]  #35  libsoup                           2.74.2, 3.0.4 -> 2.74.2, 3.0.5
[U.]  #36  linux                             5.16.15, 5.16.15-modules-shrunk -> 5.17, 5.17-modules-shrunk
[U.]  #37  mobile-broadband-provider-info    20210805 -> 20220315
[U*]  #38  network-manager-applet            1.24.0, 1.24.0-man -> 1.26.0, 1.26.0-man
[U*]  #39  networkmanager                    1.36.2, 1.36.2-doc, 1.36.2-man -> 1.36.4, 1.36.4-doc, 1.36.4-man
[U.]  #40  pango                             1.50.4, 1.50.4-bin -> 1.50.6, 1.50.6-bin
[C-]  #41  pcsclite                          1.9.5, 1.9.5-bin, 1.9.5-dev, 1.9.5-doc, 1.9.5-man -> 1.9.5, 1.9.5-bin, 1.9.5-dev
[U.]  #42  poppler-glib                      22.01.0 -> 22.03.0
[U.]  #43  poppler-utils                     22.01.0 -> 22.03.0
[U.]  #44  python3.9-QtPy                    2.0.0 -> 2.0.1
[U.]  #45  tracker                           3.2.1 -> 3.3.0
[U*]  #46  wireplumber                       0.4.8, 0.4.8-doc -> 0.4.9, 0.4.9-doc
[U.]  #47  x86_energy_perf_policy            5.15.29 -> 5.15.30
[U.]  #48  xfsprogs                          5.13.0, 5.13.0-bin -> 5.14.2, 5.14.2-bin
[U.]  #49  zfs-kernel                        2.1.3-5.16.15 -> 2.1.4-5.17
[U*]  #50  zfs-user                          2.1.3, 2.1.3_fish-completions -> 2.1.4, 2.1.4_fish-completions
Added packages:
[A.]  #1  06dvpfqvwid1v9h225kdb55qqg8gzm40-nixpkgs-src  <none>
[A+]  #2  NetworkManager-openconnect                    1.2.8
[A+]  #3  NetworkManager-openvpn                        1.8.18
[A+]  #4  NetworkManager-vpnc                           1.2.8
[A.]  #5  graphene                                      1.10.6
[A.]  #6  gtk4                                          4.6.2
Removed packages:
[R-]  #01  NetworkManager-openconnect-gnome              1.2.6
[R-]  #02  NetworkManager-openvpn-gnome                  1.8.16
[R-]  #03  NetworkManager-vpnc-gnome                     1.2.6
[R.]  #04  ccid                                          1.5.0
[R.]  #05  g15lbpx5wflz4ms43cgql13zp9g4h3df-nixpkgs-src  <none>
[R.]  #06  libdigidocpp                                  3.14.7
[R.]  #07  minizip                                       1.2.11
[R.]  #08  opensc                                        0.22.0
[R.]  #09  pcscd-plugins                                 <none>
[R-]  #10  qdigidoc                                      4.2.9
[R.]  #11  reader.conf                                   <none>
[R.]  #12  unit-pcscd.service                            <none>
[R.]  #13  unit-pcscd.socket                             <none>
[R.]  #14  xalan-c                                       1.12.0
[R.]  #15  xerces-c                                      3.2.3
[R.]  #16  xml-security-c                                2.0.4
Closure size: 1800 -> 1789 (793 paths added, 804 paths removed, delta -11).

The configuration of the affected machine is here (you can see things like the envvars being set up there), the Emacs config is here.

medranocalvo commented 2 years ago

Hello @tazjin. I see no relation between the changes in https://github.com/ch11ng/exwm/commit/e43bd782580fc7f2aa7f5f92da1c5d7c992b6d1c and XIM. W.R.T. the packages, I only suspect of gtk4, which reportedly does not support XIM.

Does the issue persist?

tazjin commented 2 years ago

Does the issue persist?

Yep, it looks like XIM is no longer supported in either browser. I've switched to a set of key bindings for changing the X11 keyboard layout, but it is a bit cumbersome and requires things like modifying screen locking logic to reset the layout.

I wasn't able to find any applications where it still works actually, so I think on bleeding edge systems it's just no longer available.