rofi编译支持中文输入版本

发布时间 2023-07-15 10:13:59作者: bighu

### 吃饭前先准备筷子

```
git clone https://github.com/davatorium/rofi.git
```

根据网上的信息,rofi 中文输入主要是依赖 xcb-imdkit 这个库

当然我们是使用源码编译,在他 git 仓库里面 INSTALL.md 中显示的所有依赖都是要手动装的

我用的是 manjaro,这个 库可以这样装

```
yay -S xcb-imdkit
```

### 编译

rofi 仓库里面提供的编译脚本默认是不会用 xcb-imdkit 这个库,即使你系统已经装了,需要手动指定

下面就是纯小白操作

我改了两个文件

1.meson.build

```
libgwater = subproject('libgwater')
# XCB stuff
deps += [
libgwater.get_variable('libgwater_xcb'),
dependency('xcb'),
dependency('xcb-aux'),
dependency('xcb-xkb'),
dependency('xkbcommon-x11'),
dependency('xcb-ewmh'),
dependency('xcb-icccm'),
dependency('xcb-randr'),
dependency('xcb-cursor'),
dependency('xcb-xinerama'),
dependency('xcb-imdkit'), # 这一段是我加的,好像没有,但是不妨碍编译,我后来就没改
dependency('cairo-xcb'),
dependency('libstartup-notification-1.0'),
]
```

2. meson_option.txt

```
option('imdkit', type: 'boolean', value: true, description: 'IMDKit support')
```

这里我把 value 改成了 true

最后可能是唯一拥有的操作 参考这个 issues:https://github.com/davatorium/rofi/issues/1841

在 rofi 的项目目录下使用

```
meson setup --reconfigure -Dimdkit=true --prefix=~/.local/ build
ninja -C build
```

然后在rofi/build下面就会编译好一个rofi的可执行文件