Subject: bug#27312: bug#21456: 24.5; Emacs does not respect fcitx as GTK input method

From: "Mingde (Matthew) Zeng" <[email-masked]>
Date: Thu, 09 Dec 2021 03:42:39 +0000

Hi,

I came across this bug report as I was having the same problem, and I
also thought there was a bug in Emacs, as fcitx5 works great everywhere
else.

Note I'm using fcitx5 so it may not be exactly the same for you.

> Specifically:
> ➜  ~ cat .xprofile
> export XMODIFIERS=@im=fcitx
> export QT_IM_MODULE=fcitx
> export GTK_IM_MODULE=fcitx
> export LC_CTYPE=zh_CN.UTF-8

Apparently these settings should be enough for every application to
work, but when it doesn't work on some application, there is a bigger
hole you have to dig into than simply looking at whether the environment
variables are set properly - because they are, and Emacs respected it, fcitx5
just didn't work in Emacs due to other reasons.

You have to fully utilize `fcitx5-diagnose` to see what is wrong.
1. Open a subshell within Emacs, run `fcitx5-remote` to see if fcitx5 is
    surely not enabled.
2. Run `fcitx5-diagnose` in the subshell *and* outside Emacs (in a
    regular terminal), compare the results, look for errors

I also got help from the fcitx5 maintainer:
    https://github.com/fcitx/fcitx5/issues/402

Anyways at the end of the day I'm using fcitx5 in Emacs, so I believe this bug
    report should be closed.

Mingde (Matthew) Zeng

Leonard Lausen <[email-masked]> writes:

> Even though all environment variables are (afaik) set up correctly, and
> fcitx is working in all other programs, it does not work in emacs GUI
> mode. It works fine if I start emacs in the terminal. I compiled emacs
> myself using the Gentoo ebuild.
>
> I would be very thankful for any suggestions. Currently I believe it is
> a bug in emacs (?).
>
> Specifically:
> ➜  ~ cat .xprofile
> export XMODIFIERS=@im=fcitx
> export QT_IM_MODULE=fcitx
> export GTK_IM_MODULE=fcitx
> export LC_CTYPE=zh_CN.UTF-8
>
> In GNU Emacs 25.2.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.15)
>  of 2017-06-10 built on leonard-xps13
> Windowing system distributor 'The X.Org Foundation', version 11.0.11903000
> Configured using:
>  'configure --prefix=/usr --build=x86_64-pc-linux-gnu
>  --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
>  --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
>  --localstatedir=/var/lib --disable-dependency-tracking
>  --disable-silent-rules --docdir=/usr/share/doc/emacs-25.2
>  --htmldir=/usr/share/doc/emacs-25.2/html --libdir=/usr/lib64
>  --program-suffix=-emacs-25 --infodir=/usr/share/info/emacs-25
>  --localstatedir=/var
>  --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
>  --with-gameuser=:gamestat --without-compress-install
>  --with-file-notification=inotify --enable-acl --with-dbus
>  --with-modules --with-gpm --without-hesiod --without-kerberos
>  --without-kerberos5 --with-xml2 --without-selinux --with-gnutls
>  --without-wide-int --with-zlib --with-sound=alsa --with-x --without-ns
>  --without-gconf --without-gsettings --without-toolkit-scroll-bars
>  --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xpm
>  --with-imagemagick --with-xft --without-cairo --with-libotf
>  --with-m17n-flt --with-x-toolkit=gtk3 --without-xwidgets
>  GENTOO_PACKAGE=app-editors/emacs-25.2 'CFLAGS=-march=native
>  -mtune=native -O2 -pipe' CPPFLAGS= 'LDFLAGS=-Wl,-O1 -Wl,--as-needed''
>
> Configured features:
> XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS NOTIFY ACL GNUTLS
> LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB GTK3 X11 MODULES
>
> Important settings:
>   value of $LC_COLLATE: C
>   value of $LC_CTYPE: zh_CN.UTF-8
>   value of $LANG: en_US.UTF-8
>   value of $XMODIFIERS: @im=fcitx
>   locale-coding-system: utf-8-unix
>
> Major mode: Lisp Interaction
>
> Minor modes in effect:
>   tooltip-mode: t
>   global-eldoc-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   tool-bar-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   blink-cursor-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
>
> Recent messages:
> For information about GNU Emacs and the GNU system, type C-h C-a.
> delete-backward-char: Text is read-only [3 times]
>
> Load-path shadows:
> None found.
>
> Features:
> (shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
> mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies
> mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
> rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode easymenu
> cl-loaddefs pcase cl-lib mail-prsvr mail-utils time-date mule-util
> china-util tooltip eldoc electric uniquify ediff-hook vc-hooks
> lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
> image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
> prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
> mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
> georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
> korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
> european ethiopic indian cyrillic chinese charscript case-table epa-hook
> jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
> loaddefs button faces cus-face macroexp files text-properties overlay
> sha1 md5 base64 format env code-pages mule custom widget
> hashtable-print-readable backquote dbusbind inotify dynamic-setting
> font-render-setting move-toolbar gtk x-toolkit x multi-tty
> make-network-process emacs)
>
> Memory information:
> ((conses 16 86627 8161)
>  (symbols 48 19787 0)
>  (miscs 40 51 121)
>  (strings 32 14408 4750)
>  (string-bytes 1 413404)
>  (vectors 16 12193)
>  (vector-slots 8 484323 15836)
>  (floats 8 166 10)
>  (intervals 56 265 0)
>  (buffers 976 18)
>  (heap 1024 16091 922))