Use glyphs from engine language in GNOME IME candidate popup

Hi. I don’t know GNOME internals, but after looking at GNOME / gnome-shell · GitLab , I want to create a feature request based on [RFE] use-glyph-from-engine-lang=true doesn't seem to work · Issue #2696 · ibus/ibus · GitHub . Basically, IBus has the use-glyph-from-engine-langflag, which makes it use Japanese font/glyphs for mozc engine and Chinese for libpinyin. And I thought that it should just work, but apparently it only works with IBus’ candidate popup, and not with GNOME’s (and apparently with popups in other sessions, like XFCE and Plasma?).

In my NixOS config I have

  i18n.inputMethod.enable = true;
  i18n.inputMethod.type = "ibus";
  i18n.inputMethod.ibus.engines = with pkgs.ibus-engines; [mozc libpinyin];

(no Nix syntax highlighting, sadge)
and

  xdg.configFile."mozc/ibus_config.textproto".text = ''
    # `ibus write-cache; ibus restart` might be necessary to apply changes.
    engines {
      name : "mozc-jp"
      longname : "Mozc"
      layout : "default"
      layout_variant : ""
      layout_option : ""
      rank : 80
      symbol : "あ"
    }
    engines {
      name : "mozc-on"
      longname : "Mozc:あ"
      layout : "default"
      layout_variant : ""
      layout_option : ""
      rank : 99
      symbol : "あ"
      composition_mode : HIRAGANA
    }
    engines {
      name : "mozc-off"
      longname : "Mozc:A_"
      layout : "default"
      layout_variant : ""
      layout_option : ""
      rank : 99
      symbol : "A"
      composition_mode : DIRECT
    }
    active_on_launch: True
    mozc_renderer {
      # Set 'False' to use IBus' candidate window.
      enabled : False
      # For Wayland sessions, 'mozc_renderer' will be used if and only if any value
      # set in this field (e.g. "GNOME", "KDE") is found in $XDG_CURRENT_DESKTOP.
      # https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys
      compatible_wayland_desktop_names : ["GNOME"]
    }
  '';

Here is how they look:

libpinyin candidate popup

I assume they both use some “GNOME candidate popup” renderer. And they should use different fonts on dconf.settings."org/freedesktop/ibus/panel".use-glyph-from-engine-lang = true;. There are custom-font and use-custom-font settings too, IIUC, but providing a way to specify concrete font for each engine would be nice (not sure how IBus decides which font to use).

Should I open an issue in GNOME / gnome-shell · GitLab?

P.S. I tried joining Matrix room, but got "MatrixError: [403] You are not invited to this room. ", so maybe the README should be updated with instruction on how to join it.

Many rooms are invite-only because of spam attacks. You can join #gnome:gnome.org instead

It is not a bug that options of ibus-panel (a generic GTK frontend for the ibus daemon) are not supported by gnome-shell (which includes a built-in frontend for the ibus daemon).

The two are different component that have nothing in common, except that they both provide a UI for ibus.

This is not going to change, not least because the above is a lot clearer than “ibus-panel options may or may not work in gnome-shell”.

(And there is no way that we will support all ibus-panel options. Things like custom font/theme/icon, a legacy systray icon or an “xkb-icon-rgba” are very much out of scope for GNOME).

If you want to open a feature request, I strongly recommend to follow the GNOME handbook, in particular these items:

  • Why the current feature set isn’t sufficient

  • Practical factors from your environment or use case which make the feature important for you

  • Personal preferences or experience which are influencing your request

It may be possible to adjust the current behavior to work better for everyone, or there should indeed be an option (or the use case may be deemed not relevant enough for enough users to justify the additional complexity).

But the issue/feature should be evaluated on its own merit, not based on what ibus-panel provides.