IBus 的前端是基于 GTK 的,而 GNOME 用它的 GJS 版本取代了这个前端,使其与 GNOME 更加统一。
因而,对于非GNOME桌面环境,IBus的显示效果是由当前GTK主题确定的。
$HOME/.config/gtk-3.0/settings.ini
文件定义了当前的GTK3主题及字体字号。
该文件的部分内容示例如下:
[Settings]
gtk-theme-name=Materia-light
gtk-font-name=更纱黑体 SC 12
上述表述中,gtk-theme-name
指定了当前GTK主题为Materia-light
,gtk-font-name
指定了当前的字体为更纱黑体 SC
,字号为12
。
可通过修改上述文件实现改变IBus字体和字号的目的。
至于IBus的配色方案,可以在IBus启动的时候指定其使用特定GTK主题,即可实现对IBus配色的自定义。
你可以直接使用pip安装:
pip install ibus-theme-tools
ibus-theme-tools
或者也可以手动安装:
git clone https://github.com/openSUSE/IBus-Theme-Tools.git
cd IBus-Theme-Tools && python3 setup.py install
ibus-theme-tools
如果你使用 Arch Linux, 也可使用 AUR 安装为系统插件:
yay -S ibus-theme-tools
在非 GNOME Shell 桌面环境中,生成新的IBus GTK主题,并支持选择背景图片与配置圆角半径。
运行ibus_theme_tools.py
脚本,按提示操作即可。
在主题生成完成后,手动在系统设置中选择新生成的主题即可。
如果你安装了支持GNOME-Shell样式的主题,你还可以选择提取IBus样式,但是只能在GNOME桌面使用。
创建一个名为ibus-custom-theme
的GTK3主题,运行:
mkdir -p $HOME/.themes/ibus-custom-theme/gtk-3.0
$EDITOR $HOME/.themes/ibus-custom-theme/gtk-3.0/gtk.css
然后进行文件内容的编辑,文件内容示例:
* {
color: #0b141a; /* 字体颜色 */
background-color: #ffffff; /* 背景颜色 */
-gtk-secondary-caret-color: #d4d4d4; /* 高亮背景颜色 */
}
然后运行程序,选择刚刚创建的ibus-custom-theme
主题即可。
从GNOME-Shell主题提取IBus样式,使用Python下CSS解析器tinycss2实现功能,生成额外IBus样式表供用户修改测试使用。
运行ibus_theme_tools.py
脚本,按提示操作即可。
当用户从主题列表中选中一个主题,本程序会首先读取该主题的定义 CSS 文件,从中提取出定义 IBus 皮肤的类样式(.candidate-*
)以及其他的额外操作,然后将其写入样式表文件。
随后可以使用自定义 IBus GNOME Shell 扩展导入并应用主题。
注意: 如你的 IBus 样式表在应用后作出了更改,请关闭并重新开启对应 从 v69 开始,支持样式表热重载, CSS 的变化会实时地体现出来。自定义主题
来使其生效。
示例提取出的样式表文件:exportedIBusTheme.css
该项目是@HollowMan6参与谷歌编程之夏 (GSoC) 2021 于OpenSUSE社区成果的一部分。