Difference between revisions of "Theme Customization"
Weng Xuetian (talk | contribs) |
Weng Xuetian (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
+ | |||
+ | __TOC__ | ||
<translate> | <translate> | ||
− | = Classic User interface = | + | = Classic User interface = <!--T:1--> |
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. | 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. | ||
+ | <!--T:2--> | ||
Options for Classic User interface: | Options for Classic User interface: | ||
+ | <!--T:3--> | ||
* Vertical Candidate List. Display candidate list in vertical direction if it is not specified by engine. The engine logic may still override the direction. | * 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 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. | ||
Line 12: | Line 16: | ||
* 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. | * 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. | ||
− | = Kimpanel = | + | See [[Special:MyLanguage/Fcitx 5 Theme|Fcitx 5 Theme]] on how to create your own theme. |
+ | |||
+ | = Kimpanel = <!--T:4--> | ||
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. | 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. | ||
* Kimpanel plasmoid, available within KDE Plasma 5's plasma-desktop package. | * Kimpanel plasmoid, available within KDE Plasma 5's plasma-desktop package. | ||
Line 18: | Line 24: | ||
* Kimtoy, a third part standalone program. | * Kimtoy, a third part standalone program. | ||
+ | <!--T:5--> | ||
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. | 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. | ||
</translate> | </translate> |
Latest revision as of 01:28, 9 March 2022
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.
See Fcitx 5 Theme on how to create your own theme.
Kimpanel
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.
- Kimpanel plasmoid, available within KDE Plasma 5's plasma-desktop package.
- GNOME Extensions, available at extensions.gnome.org. Maintained by User:Weng Xuetian on github.
- Kimtoy, a third part standalone program.
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.