Skip to content

Latest commit

 

History

History
154 lines (97 loc) · 5.86 KB

README_CN.md

File metadata and controls

154 lines (97 loc) · 5.86 KB

IBus 主题工具

last-commit pipy

GPL Licence Repo-Size

Total alerts Language grade: Python

欢迎在 Weblate 中贡献你的翻译!

翻译状态

English

Python库依赖

前置知识

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-lightgtk-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

(对于Manjaro用户,因为与Arch Linux不同,官方软件包仓库中不包含本软件的依赖项python-tinycss2。您可以从Arch Linux社区仓库手动下载它的pkg文件,就如同下面的示例进行依赖项python-tinycss2的安装)

wget https://ftp5.gwdg.de/pub/linux/archlinux/community/os/x86_64/python-tinycss2-1.1.1-1-any.pkg.tar.zst
sudo pacman -U python-tinycss2-1.1.1-1-any.pkg.tar.zst
rm python-tinycss2-1.1.1-1-any.pkg.tar.zst

AUR

openSUSE 可以直接通过ymp 文件安装。

你可以通过 OpenSUSE OBS 下载绝大部分 Linux 发行版对应的相关安装包后安装。

Ubuntu 可使用 PPA 安装:

sudo add-apt-repository ppa:hollowman86/ibus-theme-tools
sudo apt-get update

对于 Gentoo,运行以下命令安装:

git clone https://github.com/openSUSE/IBus-Theme-Tools.git
cd IBus-Theme-Tools && make emerge

对于 NixOS:

sudo nix-env -i ibus-theme-tools

对于 Guix:

guix install ibus-theme-tools

实现功能

非GNOME桌面

在非 GNOME Shell 桌面环境中,生成新的IBus GTK主题,并支持选择背景图片与配置圆角半径。

运行ibus_theme_tools.py脚本,按提示操作即可。

在主题生成完成后,手动在系统设置中选择新生成的主题即可。

如果你安装了支持GNOME-Shell样式的主题,你还可以选择提取IBus样式,但是只能在GNOME桌面使用。

自定义 IBus 色调(创建一个GTK主题)

创建一个名为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桌面

从GNOME-Shell主题提取IBus样式,使用Python下CSS解析器tinycss2实现功能,生成额外IBus样式表供用户修改测试使用。

运行ibus_theme_tools.py脚本,按提示操作即可。

当用户从主题列表中选中一个主题,本程序会首先读取该主题的定义 CSS 文件,从中提取出定义 IBus 皮肤的类样式(.candidate-*)以及其他的额外操作,然后将其写入样式表文件。

随后可以使用自定义 IBus GNOME Shell 扩展导入并应用主题。

注意: 如你的 IBus 样式表在应用后作出了更改,请关闭并重新开启对应自定义主题来使其生效。 从 v69 开始,支持样式表热重载, CSS 的变化会实时地体现出来。

示例提取出的样式表文件:exportedIBusTheme.css

说明

该项目曾是@HollowMan6参与谷歌编程之夏 (GSoC) 2021OpenSUSE社区成果的一部分。