fcitx / fcitx5

maybe a new fcitx.
1.64k stars 119 forks source link

Fcitx5 的汉字候选框 并不会随着 Firefox 浏览器窗口的移动而改变 #1190

Open luozhonghe opened 5 days ago

luozhonghe commented 5 days ago

Summary

系统:Ubuntu 24.04 图形窗口管理器:wayland Firefox(通过snap安装的每夜构建版本): 134.0a1 (2024-11-25) (64 位)

图片

Steps to Reproduce

  1. 打开 火狐浏览器
  2. 火狐浏览器 的地址栏输入汉字,汉字候选框的位置是正确的。
  3. 移动火狐浏览器的窗口位置,这个时候重新在浏览器的地址栏输入汉字,这个时候,汉字候选框的位置还是在之前的位置。并没有随着 火狐浏览器 窗口的移动,而发生改变。

Expected Behavior

汉字候选框的屏幕位置 应该 会 随着窗口的移动而改变才是。

Output of fcitx5-diagnose command

System Info:

  1. uname -a:

    Linux luozijun-MS-7E30 6.8.0-49-generic #49-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov  4 02:06:24 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  2. lsb_release -a:

    Distributor ID: Ubuntu
    Description:    Ubuntu 24.04.1 LTS
    Release:    24.04
    Codename:   noble
  3. lsb_release -d:

    Description:    Ubuntu 24.04.1 LTS
  4. /etc/lsb-release:

    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=24.04
    DISTRIB_CODENAME=noble
    DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS"
  5. /etc/os-release:

    PRETTY_NAME="Ubuntu 24.04.1 LTS"
    NAME="Ubuntu"
    VERSION_ID="24.04"
    VERSION="24.04.1 LTS (Noble Numbat)"
    VERSION_CODENAME=noble
    ID=ubuntu
    ID_LIKE=debian
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    UBUNTU_CODENAME=noble
    LOGO=ubuntu-logo
  6. Desktop Environment:

    Desktop environment is gnome3.

  7. XDG SESSION TYPE:

    XDG_SESSION_TYPE='wayland'
  8. Bash Version:

    BASH_VERSION='5.2.21(1)-release'

Environment:

  1. DISPLAY:

    DISPLAY=':0'
    
    WAYLAND_DISPLAY='wayland-0'
  2. Keyboard Layout:

    1. setxkbmap:

      WARNING: Running setxkbmap against an Xwayland server
      xkb_keymap {
          xkb_keycodes  { include "evdev+aliases(qwerty)" };
          xkb_types     { include "complete"  };
          xkb_compat    { include "complete"  };
          xkb_symbols   { include "pc+us+inet(evdev)" };
          xkb_geometry  { include "pc(pc105)" };
      };
    2. xprop:

      _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""
  3. Locale:

    1. All locales:

      C
      C.utf8
      POSIX
      zh_CN.utf8
      zh_SG.utf8
    2. Current locale:

      LANG=zh_CN.UTF-8
      LANGUAGE=
      LC_CTYPE="C"
      LC_NUMERIC="C"
      LC_TIME="C"
      LC_COLLATE="C"
      LC_MONETARY="C"
      LC_MESSAGES="C"
      LC_PAPER="C"
      LC_NAME="C"
      LC_ADDRESS="C"
      LC_TELEPHONE="C"
      LC_MEASUREMENT="C"
      LC_IDENTIFICATION="C"
      LC_ALL=C
  4. Directories:

    1. Home:

      /home/luozijun
    2. ${XDG_CONFIG_HOME}:

      Environment variable XDG_CONFIG_HOME is not set.

      Current value of XDG_CONFIG_HOME is ~/.config (/home/luozijun/.config).

    3. Fcitx5 Settings Directory:

      Current fcitx5 settings directory is ~/.config/fcitx5 (/home/luozijun/.config/fcitx5).

  5. Current user:

    The script is run as luozijun (1000).

Fcitx State:

  1. executable:

    Found fcitx5 at /usr/bin/fcitx5.

  2. version:

    Fcitx version: 5.1.7

  3. process:

    Found 1 fcitx5 process:

      23871 fcitx5
  4. fcitx5-remote:

    fcitx5-remote works properly.

  5. DBus interface:

    Using dbus-send to check dbus.

    Owner of DBus name org.fcitx.Fcitx5 is :1.191.

    PID of DBus name org.fcitx.Fcitx5 owner is 23871.

    Debug information from dbus:

       Group [wayland:] has 3 InputContext(s)
      IC [c05d78fc62b94f04854795056a400235] program:gnome-terminal-server frontend:dbus cap:e001000032 focus:0
      IC [8ae9308b94af4383baf0cb873eeb9087] program:gnome-terminal-server frontend:dbus cap:e001000032 focus:1
      IC [4b92bc5e603240369dc4eea5e1f1c8d1] program: frontend:ibus cap:52 focus:0
    Group [x11::0] has 6 InputContext(s)
      IC [6f0d61ab527448ff8a83e89a55bd6e21] program:firefox frontend:fcitx4 cap:1000012 focus:0
      IC [cb2890cda4ca47059b941a7e6686976e] program:firefox frontend:fcitx4 cap:1000012 focus:0
      IC [40207b6b692648aea8c823a7adebe2e1] program:firefox frontend:fcitx4 cap:1000012 focus:0
      IC [95966548efa44884bee790b28cd46013] program:firefox frontend:fcitx4 cap:1000052 focus:0
      IC [0e99240df7654356835adefffc2718aa] program:firefox frontend:fcitx4 cap:1000012 focus:0
      IC [259bcec72b064fdaa7d8c733dfe65abd] program:firefox frontend:fcitx4 cap:1000052 focus:0
    Input Context without group

Fcitx Configure UI:

  1. Config Tool Wrapper:

    Found fcitx5-configtool at /usr/bin/fcitx5-configtool.

  2. Config GUI for qt:

    Found fcitx5-config-qt at /usr/bin/fcitx5-config-qt.

  3. Config GUI for kde:

    kcmshell5 not found.

Frontends setup:

The environment variable checked by this script only shows the environment under current shell. It is still possible that you did not set the environment to the whole graphic desktop session. You may inspect the actual environment variable of a certain process by using xargs -0 -L1 /proc/$PID/environ for a certain process that you find not working.

Xim:

  1. ${XMODIFIERS}:

    Environment variable XMODIFIERS is set to "@im=fcitx" correctly. Xim Server Name from Environment variable is fcitx.

  2. XIM_SERVERS on root window:

    Xim server name is the same with that set in the environment variable.

  3. XIM encoding:

    Your LC_CTYPE is set to C whose encoding is not UTF-8. You may have trouble committing strings using XIM.

Qt:

  1. qt4 - ${QT4_IM_MODULE}:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

    fcitx5-qt4-immodule-probing not found.

  2. qt5 - ${QT_IM_MODULE}:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

    Using fcitx5-qt5-immodule-probing to check the actual im module to be used under current environment:

    QT_QPA_PLATFORM=wayland
    QT_IM_MODULE=fcitx
    IM_MODULE_CLASSNAME=fcitx::QFcitxPlatformInputContext
  3. qt6 - ${QT_IM_MODULE}:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

    Using fcitx5-qt6-immodule-probing to check the actual im module to be used under current environment:

    QT_QPA_PLATFORM=wayland
    QT_IM_MODULE=fcitx
    IM_MODULE_CLASSNAME=fcitx::QFcitxPlatformInputContext
  4. Qt IM module files:

    Found unknown fcitx qt module: /lib/x86_64-linux-gnu/fcitx/qt/libfcitx-quickphrase-editor5.so. Found fcitx5 qt6 module: /lib/x86_64-linux-gnu/fcitx5/qt6/libfcitx-quickphrase-editor5.so. Found fcitx5 im module for qt6: /lib/x86_64-linux-gnu/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so. Found fcitx5 im module for qt5: /lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so. Found unknown fcitx qt module: /lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so.

    Following error may not be accurate because guessing Qt version from path depends on how your distribution packages Qt. It is not a critical error if you do not use any Qt application with certain version of Qt or you are using text-input support by Qt under Wayland. Cannot find fcitx5 input method module for Qt4.

Gtk:

  1. gtk - ${GTK_IM_MODULE}:

    Environment variable GTK_IM_MODULE is set to "fcitx" correctly.

    Using fcitx5-gtk2-immodule-probing to check the actual im module to be used under current environment:

    GTK_IM_MODULE=fcitx

    Using fcitx5-gtk3-immodule-probing to check the actual im module to be used under current environment:

    GTK_IM_MODULE=fcitx

    Using fcitx5-gtk4-immodule-probing to check the actual im module to be used under current environment:

    GTK_IM_MODULE=fcitx
  2. gtk-query-immodules:

    1. gtk 2:

      Cannot find gtk-query-immodules for gtk 2

      Cannot find fcitx5 im module for gtk 2.

    2. gtk 3:

      Cannot find gtk-query-immodules for gtk 3

      Cannot find fcitx5 im module for gtk 3.

  3. Gtk IM module cache:

    1. gtk 2:

      Found immodules cache for gtk 2.24.33 at /lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache. Version Line:

      # Created by /usr/lib/x86_64-linux-gnu/libgtk2.0-0t64/gtk-query-immodules-2.0 from gtk+-2.24.33

      Found fcitx5 im modules for gtk 2.24.33.

      "/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx5.so" 
      "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
      "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
    2. gtk 3:

      Found immodules cache for gtk 3.24.41 at /lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache. Version Line:

      # Created by /usr/lib/x86_64-linux-gnu/libgtk-3-0t64/gtk-query-immodules-3.0 from gtk+-3.24.41

      Found fcitx5 im modules for gtk 3.24.41.

      "/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx5.so" 
      "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
      "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
  4. Gtk IM module files:

    1. gtk 2:

      All found Gtk 2 immodule files exist.

    2. gtk 3:

      All found Gtk 3 immodule files exist.

    3. gtk 4:

      All found Gtk 4 immodule files exist.

Configuration:

Fcitx Addons:

  1. Addon Config Dir:

    Found fcitx5 addon config directory: /usr/share/fcitx5/addon.

  2. Addon List:

    1. Found 29 enabled addons:

      Simplified and Traditional Chinese Translation 5.1.3
      Classic User Interface 5.1.7
      Clipboard 5.1.7
      Cloud Pinyin 5.1.3
      DBus 5.1.7
      DBus Frontend 5.1.7
      Emoji 5.1.7
      Fcitx4 Frontend 5.1.7
      Full width character 5.1.3
      IBus Frontend 5.1.7
      Lua IME API 5.0.12
      Input method selector 5.1.7
      Keyboard 5.1.7
      KDE Input Method Panel 5.1.7
      Lua Addon Loader 5.0.12
      Status Notifier 5.1.7
      Notification 5.1.7
      Pinyin 5.1.3
      Extra Pinyin functionality 5.1.3
      Punctuation 5.1.3
      Quick Phrase 5.1.7
      Spell 5.1.7
      Table 5.1.3
      Unicode 5.1.7
      DBus Virtual Keyboard 5.1.7
      Wayland 5.1.7
      Wayland Input method frontend 5.1.7
      XCB 5.1.7
      X Input Method Frontend 5.1.7
    2. Found 0 disabled addons:

  3. Addon Libraries:

    All libraries for all addons are found.

  4. User Interface:

    Found 3 enabled user interface addons:

    Classic User Interface
    KDE Input Method Panel
    DBus Virtual Keyboard

Input Methods:

  1. /home/luozijun/.config/fcitx5/profile:

    [Groups/0]
    # Group Name
    Name=默认
    # Layout
    Default Layout=us
    # Default Input Method
    DefaultIM=pinyin
    
    [Groups/0/Items/0]
    # Name
    Name=keyboard-us
    # Layout
    Layout=
    
    [Groups/0/Items/1]
    # Name
    Name=pinyin
    # Layout
    Layout=
    
    [GroupOrder]
    0=默认

Log:

  1. date:

    Wed Nov 27 12:29:02 CST 2024
  2. /home/luozijun/.config/fcitx5/crash.log:

    /home/luozijun/.config/fcitx5/crash.log not found.

Warning: the output of fcitx5-diagnose contains sensitive information, including the distribution name, kernel version, name of currently running programs, etc.

Though such information can be helpful to developers for diagnostic purpose, please double check and remove as necessary before posting it online publicly.

luozhonghe commented 5 days ago

目前只发现在 Firefox 里面显示 汉字候选框 会出现位置对不上的问题。其它的应用程序没有这个问题(Gnome-terminal, sublime).