Open mhiuuu opened 4 months ago
I think the problem is fcitx5 conflicts with cliphist from hyprland
Nah that isn't the problem
Can you update to stable 5.1.10 and test again? From your backtrace I think you might be running the your own fcitx5-git or sth.
Ye I'm currently using version 5.1.10. But I reinstalled the system and removed cliphist then it works smoothly although sometimes it also breaks down.
I'm not sure how cliphist may affect here, but fcitx does also monitor clipboard (Only one way monitoring) for its own clipboard history feature.
If somehow, due to cliphist there was a message loop, that might be the cause.
But based on the protocol, I currently do not have an idea on how that could happen. You may want to run WAYLAND_DEBUG=1 fcitx5
and see if there's any suspicious message loop. (Including other issues you saw, mainly focus on the data offer, text_input messages)
I have a similar issue with the little fcitx5 box on the top left corner. When that happens I can't change input methods in discord when kitty is open. When I close kitty, everything goes back to normal. Should I open a new issue?
The problem remain unchaged for me but I learnt to live with it. It happens to me when I am in Vivaldi as it is the place where I need to change my language input. Asked on many forums but ye so maybe we should keep this issue open
@mhiuuu it's interesting when you mention vivaldi. What is your wayland compositor and what's its version? Are you running a native wayland vivaldi?
I'm currently running Hyprland v0.43.0 and Vivaldi was installed from yay. I don't know if that can help you but ye this also happened when I was using microsoft-edge too
@mhiuuu do you run those browser with xwayland or native wayland?
Can you run fcitx5-diagnose again when the browser is running?
Hi @wengxt, sorry for the late reply, last week was pretty busy for me. I switched back from Vivaldi due to compatibility issues with my keyboard. However, before switching, I did notice that the problem disappeared for a while (can not be sure if it will be back or not). As far as I know, the browser is running with XWayland
Hi @wengxt , Could it be that fcitx5 is unable to properly detect the program I want to input into? I am using Hyprland, and the bug often occurs when I switch between JetBrains IDE and Chrome. At that time, only Chrome allows input Chinese; if I try to type in the IDE, the candidate box appears outside the window. If I close Chrome, it returns to normal. Similarly, when I have two instances of Chrome open, only one of them can input Chinese. Is the key issue related to my use of Hyprland?
@disjfjdizmfnkf
on wayland, fcitx has no control on what client it talks to. fcitx only talks to compositor, and compositor forward it to right application. The focused client is managed by compositor, not fcitx.
Summary
I have reported this problem before but it seems like the solution doesn't fully fix it. I will leave a link to the video (it is quite big > 30Mbs so I can't put it here). The problem is, every time I use fcitx, the little box displays which kind of input I'm using is flies to the corner of the window, and after that, I will only have one input available to type yet the other one will freeze my input. But when I open OBS to record that, it is just fixed somehow???? Link to the video
Steps to Reproduce
Right after turning on fcitx5
Expected Behavior
One of your inputs will be frozen when the little box to show which input you are using will fly to the corner of the window
Output of fcitx5-diagnose command
System Info:
uname -a
:lsb_release
:lsb_release
not found./etc/lsb-release
:/etc/lsb-release
not found./etc/os-release
:Desktop Environment:
Cannot determine desktop environment.
XDG SESSION TYPE:
Bash Version:
Environment:
DISPLAY:
Keyboard Layout:
setxkbmap
:xprop
:Locale:
All locales:
Current locale:
Directories:
Home:
${XDG_CONFIG_HOME}
:Environment variable
XDG_CONFIG_HOME
is not set.Current value of
XDG_CONFIG_HOME
is~/.config
(/home/duckgogo/.config
).Fcitx5 Settings Directory:
Current fcitx5 settings directory is
~/.config/fcitx5
(/home/duckgogo/.config/fcitx5
).Current user:
The script is run as duckgogo (1000).
Fcitx State:
executable:
Found fcitx5 at
/usr/bin/fcitx5
.version:
Fcitx version:
5.1.10
process:
Found 1 fcitx5 process:
fcitx5-remote
:fcitx5-remote
works properly.DBus interface:
Using
dbus-send
to check dbus.Owner of DBus name
org.fcitx.Fcitx5
is:1.15
.PID of DBus name
org.fcitx.Fcitx5
owner is96495
.Debug information from dbus:
Fcitx Configure UI:
Config Tool Wrapper:
Found fcitx5-configtool at
/usr/bin/fcitx5-configtool
.Config GUI for qt:
Found
fcitx5-config-qt
at/usr/bin/fcitx5-config-qt
.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:
${XMODIFIERS}
:XMODIFIERS is not set
Please set environment variable XMODIFIERS to "@im=fcitx" using the tool your distribution provides or add
export XMODIFIERS=@im=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: XMODIFIERS. Xim Server Name from Environment variable is fcitx.XIM_SERVERS on root window:
Xim server name is the same with that set in the environment variable.
Qt:
qt4 -
${QT4_IM_MODULE}
:Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add
export QT_IM_MODULE=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: QT_IM_MODULE.fcitx5-qt4-immodule-probing
not found.qt5 -
${QT_IM_MODULE}
:Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add
export QT_IM_MODULE=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: QT_IM_MODULE.It is OK to use qt5 built-in Wayland im module if your compositor fully supports text-input protocol used by qt5.
Using fcitx5-qt5-immodule-probing to check the actual im module to be used under current environment:
qt6 -
${QT_IM_MODULE}
:Please set environment variable QT_IM_MODULE to "fcitx" using the tool your distribution provides or add
export QT_IM_MODULE=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: QT_IM_MODULE.It is OK to use qt6 built-in Wayland im module if your compositor fully supports text-input protocol used by qt6.
Using fcitx5-qt6-immodule-probing to check the actual im module to be used under current environment:
Qt IM module files:
Found fcitx5 qt5 module:
/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.so
. Found fcitx5 qt6 module:/usr/lib/fcitx5/qt6/libfcitx-quickphrase-editor5.so
. Found unknown fcitx qt module:/usr/lib/qt6/plugins/plasma/kcms/systemsettings/kcm_fcitx5.so
. Found fcitx5 im module for qt6:/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so
. Found fcitx5 im module for qt:/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.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:
gtk -
${GTK_IM_MODULE}
:Please set environment variable GTK_IM_MODULE to "fcitx" using the tool your distribution provides or add
export GTK_IM_MODULE=fcitx
to your~/.xprofile
. See Input Method Related Environment Variables: GTK_IM_MODULE.It is OK to use gtk built-in Wayland im module if your compositor fully supports text-input protocol used by gtk.
Using fcitx5-gtk2-immodule-probing to check the actual im module to be used under current environment:
Using fcitx5-gtk3-immodule-probing to check the actual im module to be used under current environment:
Using fcitx5-gtk4-immodule-probing to check the actual im module to be used under current environment:
gtk-query-immodules
:gtk 2:
Cannot find
gtk-query-immodules
for gtk 2Cannot find fcitx5 im module for gtk 2.
gtk 3:
Found
gtk-query-immodules
for gtk3.24.42
at/usr/bin/gtk-query-immodules-3.0
. Version Line:Found fcitx5 im modules for gtk
3.24.42
.Gtk IM module cache:
gtk 2:
Cannot find immodules cache for gtk 2
Cannot find fcitx5 im module for gtk 2 in cache.
gtk 3:
Found immodules cache for gtk
3.24.42
at/usr/lib/gtk-3.0/3.0.0/immodules.cache
. Version Line:Found fcitx5 im modules for gtk
3.24.42
.Gtk IM module files:
gtk 2:
All found Gtk 2 immodule files exist.
gtk 3:
All found Gtk 3 immodule files exist.
gtk 4:
All found Gtk 4 immodule files exist.
Configuration:
Fcitx Addons:
Addon Config Dir:
Found fcitx5 addon config directory:
/usr/share/fcitx5/addon
.Addon List:
Found 21 enabled addons:
Found 0 disabled addons:
Addon Libraries:
All libraries for all addons are found.
User Interface:
Found 3 enabled user interface addons:
Input Methods:
/home/duckgogo/.config/fcitx5/profile
:Log:
date
:/home/duckgogo/.config/fcitx5/crash.log
: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.