Fcitx

From Gentoo Wiki
Jump to:navigation Jump to:search
Resources

Fcitx (Flexible Context-aware Input Tool with eXtension support) [ˈfaɪtɪks] is an input method framework with support for many languages and scripts.

Installation

USE flags

USE flags for app-i18n/fcitx Fcitx 5 is a generic input method framework

+X Add support for X11
+autostart Enable XDG-compatible autostart of Fcitx
+cairo Enable support for the cairo graphics library
+emoji Enable emoji loading for CLDR
+enchant Enable Enchant backend (using app-text/enchant) for spelling hinting
+gtk3 Install input method module for GTK+ 3
+introspection Add support for GObject based introspection
+keyboard Enable key event translation with XKB and build keyboard engine
+pango Enable support for x11-libs/pango
+server Build a fcitx as server, disable this option if you want to use fcitx as an embedded library
+table Install table input methods for Simplified Chinese
+xkb Enable support for XKB (required for fcitx-xkb, fcitx-xkbdbus, part of fcitx-keyboard)
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
gtk2 Install input method module for GTK+ 2
lua Enable Lua scripting support
nls Add Native Language Support (using gettext - GNU locale utilities)
opencc Enable OpenCC engine (using app-i18n/opencc) for converter between Simplified Chinese and Traditional Chinese
presage Enable presage for word predication (not stable)
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
wayland Enable dev-libs/wayland backend

Note
It is strongly recommended to add the gtk2 or gtk3 USE flags when applications are installed that make use of these toolkits.

Emerge

root #emerge --ask app-i18n/fcitx

Using Fcitx

In order to use Fcitx in X, the following environment variables must be added to start up files and exported:

When using login managers such as LightDM to start the X server add them to the ~/.xprofile file. When using the startx command or SLiM to login, add them to the ~/.xinitrc file.

If the gtk2 or gtk3 USE flags were used upon installation, <module> (in the examples below) will be fcitx, otherwise it should be xim.

FILE ~/.xprofile
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE=<module>
export GTK_IM_MODULE=<module>

Remember, make ~/.xinitrc look like the example below only if using startx or SLiM to start the X server:

FILE ~/.xinitrc
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE=<module>
export GTK_IM_MODULE=<module>

KDE Plasma: If these environment variables are not getting loaded either from ~/.xprofile nor ~/.xinitrc, try adding them to a Plasma startup script, such as ~/.config/plasma-workspace/env/fcitx.sh.

It is recommended to start the D-Bus session bus before Fcitx starts. Add these to the beginning of the X start up file (~/.xprofile or ~/.xinitrc):

FILE ~/.xprofile or ~/.xinitrc
eval "$(dbus-launch --sh-syntax --exit-with-session)"

Note that things can work for some users without this dbus-launch addition.

Warning
When desiring to use Fcitx in X, the system locale cannot be C or POSIX.

Configuration

Edit Fcitx's configuration file at ~/.config/fcitx/config

Also, there are GUI tools to configure Fcitx. Install app-i18n/fcitx-configtool (based on GTK2 or GTK3) or app-i18n/kcm-fcitx (based on KDE) to use them.

Frontend

Other than the built-in classic UI, there is also a frontend which integrates into KDE well called Kimpanel (included in kde-plasma/kdeplasma-addons). The dbus flag must be enabled to use Kimpanel. Once installed, add the kimpanel plasmoid to the plasma panel and fcitx will switch to it by its self.

Specific language support

Chinese

Fcitx itself has built-in pinyin support. Enabling the table USE flag will provide multiple table-based input methods such as WuBi and Ziranma.

Install app-i18n/fcitx-cloudpinyin to have better results in the candidate words list.

The built-in pinyin use a simple algorithm, and there are other pinyin input methods using other algorithms. Install app-i18n/fcitx-libpinyin or app-i18n/fcitx-rime to use them.

For Bopomofo support app-i18n/fcitx-chewing or app-i18n/fcitx-libpinyin can be installed.

For Cangjie or Boshiamy support install app-i18n/fcitx-table-extra.

Japanese

Note
See also: How to read and write in Japanese — how to read and write in Japanese on a non-Japanese system.

Install app-i18n/fcitx-anthy:

root #emerge --ask app-i18n/fcitx-anthy

Korean

Install app-i18n/fcitx-hangul:

root #emerge --ask app-i18n/fcitx-hangul

Vietnamese

Install app-i18n/fcitx-unikey:

root #emerge --ask app-i18n/fcitx-unikey