rime / home

Rime::Home is home to Rime users and developers
https://rime.im
4.28k stars 231 forks source link

能否通过别的配置文件实现 default.custom.yaml 的修改功能? #1138

Open ivysrono opened 2 years ago

ivysrono commented 2 years ago

起因:希望在 Windows 和多个 Android 端共用一套方案,相关配置文件通过 Syncthing 同步到 Android 端 rime 文件夹,这样配置在 Windows 修改好后,只需要到各个 Android 的 Trime 上点击部署即可,无需手动复制配置文件到 rime 文件夹。

为了防止 Android 端部署后生成的大量文件传输回 Windows,在 Syncthing 设置 Android 端为仅接收。总体没有问题,但有一点小麻烦:

Trime 部署后会对 default.custom.yaml 进行修改,至少会修改生成日期。Syncthing 只会用新文件覆盖旧文件,但现在新被编辑的 default.custom.yaml 位于仅接收端,于是就会永远处于同步未完成状态。此时如果在 Windows 手动编辑 default.custom.yaml 可以完成同步,但会在 Android 端产生同步冲突的废弃文件。

每一次更新方案词库进行部署都会出现上述问题。

为了避免对 Rime 或者 Syncthing 进行大的修改,如果能通过 trime.custion.yaml 等配置文件来实现 default.custom.yaml 的功能,那就可以顺利解决这个问题。但似乎尝试无效,疑似 trime.custion.yaml 等仅能修改界面?

default.custom.yaml 内容:

patch:
  "ascii_composer/good_old_caps_lock": false
  schema_list:
    - {schema: pinyin_simp}
xdaniel9 commented 4 months ago

+1 schema_list似乎只有在default.custom.yaml起作用 不同的平台有不同的schema_list是很正常的需求,放在default.custom.yaml里就不能一份配置文件直接同步通用了

LEOYoon-Tsaw commented 4 months ago

部署時修改default.custom.yaml是什麼迷惑行為,不懂為何Trime要這樣做

ksqsf commented 4 months ago

一个可能的解决办法:让 trime 自带的 default.yaml 里读取 default.trime.yaml 之类的文件。不过这个需要跟 trime 那边提。