Theme Customization

From Fcitx
Revision as of 18:52, 8 November 2021 by Weng Xuetian (talk | contribs)
Jump to navigation Jump to search
Other languages:

Classic User interface

This is a simple theme engine based on Fcitx 5's own ini-like configuration file and images. This affect the server side input method panel and Fcitx 5's new client side input method panel. Under X11, the input method window is rendered by Fcitx server. But under wayland, it might be rendered by the client application for Gtk and Qt. They share similar logic and almost same features. Except in Qt case, it is rendered with native Qt API, so it does not support the "Use input method language to display text" option.

Options for Classic User interface:

  • Vertical Candidate List. Display candidate list in vertical direction if it is not specified by engine. The engine logic may still override the direction.
  • Use Per Screen DPI. Render the text with the DPI scaled by the screen where the window is displayed. This option is mostly only relevant to X11. On X11, Fcitx will read the Xft.dpi option and assume it is the DPI used on primary screen. Suppose you have two screen, the physical DPI of primary screen is 120 and the other one is 280. If Xft.dpi is 96, for primary screen it will use 96. For the other screen, it will use 280/120*96=224 to render the text.
  • Use mouse wheel to go to prev or next page
  • Use input method language to display text. Certain character may share the exact same unicode under different languages. This option allow the text to be rendered using the locale of the input method language. For example, it will display character with Chinese variant when using Chinese input method like Pinyin and Japanese variant when using Japanese input method. The font used needs to support different locale to use this feature.


This is a DBus based interface based user interface that is generic to the input method framework. There are multiple implementations available for different desktop environment.

Due to the nature of the complex situation between Wayland and input method, Kimpanel may not be used under native wayland program for Gtk/Qt when using Fcitx's input method modules under non-GNOME environment. This is mainly because, as a GNOME extension, kimpanel is able to get window information and move window around freely. Same does not apply to other Kimpanel implementations. Having the window in the right position is much more important than appearance, so kimpanel is not used and the client side input panel will be used under such environment.