osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
3.08k stars 372 forks source link

能否添加一个使用自定义主题的功能 #909

Closed atlanticfirst closed 1 year ago

atlanticfirst commented 1 year ago

目前想实现自定义主题只能手工修改tongwenfeng.trime.yaml或者trime.yaml,只要一更新就有一大堆的bug。 请问能不能添加一个自定义主题的功能,比如只要.trime.yaml结尾的文件都作为主题读取,省得每次更新都得调试一番

atlanticfirst commented 1 year ago

顺便还想问下部署的时候提示invalid entry和invalid metadata是什么原因导致的啊?

还有更新配置文件以后重新部署,build不会跟着变导致新配置无效有什么办法解决吗?

atlanticfirst commented 1 year ago

顺便还想问下部署的时候提示invalid entry和invalid metadata是什么原因导致的啊?

还有更新配置文件以后重新部署,build不会跟着变导致新配置无效有什么办法解决吗?

atlanticfirst commented 1 year ago

不好意思,刚刚试了下自定义后缀trime.yaml的文件,发现可以被读取成主题,这个功能请求已经完成了. 现在还有问题的就是两个invaild和改动配置文件重新部署以后build不会联动更新的问题了

WhiredPlanck commented 1 year ago

@tecsar9000 同文一直支持自定义主题 …… 你只要按照规范制作主题文件,将其命名为 <主题文件名>.trime.yaml 的文件名格式就可以了。主题相关规范可参见 trime.yaml 详解

改动配置后更新部署不及时的问题已在 #901 和 #902 提及过,已在 PR #899 中提交修复代码。

另外的提醒:app 首页的部署按钮是不会部署主题的,这个部署按钮针对且只能针对 rime 的方案、字典等起效。同文的主题配置只是用到了 rime 为 yaml 添加的一些独有的编译语法,所以要靠 rime 引擎的部署功能来部署(和方案等的部署机制不一样),但除此之外主题配置和 rime 引擎本身毫无瓜葛。主题的部署在选择和应用主题的那一刻开始。这点也在 #902 提及过。

hk3f commented 1 year ago

似乎删除rime/build/tongwenfeng.trime.yaml, 然后更新rime/tongwenfeng.trime.yaml,主题切换到trime在切回tongwenfeng,比较可靠的让修改生效。 另,如果你不是大幅度修改键盘布局,新建一个tongwenfeng.trime.custom.yaml打补丁是更好的方式, 例如, 我习惯用微软双拼,但是键盘没有分号很不方便:

# tongwenfeng.trime.custom.yaml
# encoding: utf-8
  "preset_keyboards/default/keys/@21/composing": ";"

或者修改键盘背景,复制一个youtube配色,调整透明度,添加背景图片,以及调整备选字大小

theme bg

"preset_color_schemes/youtube2": name: "YouTubeMod" author: "F F@me.com" text_color: 0xff000000 back_color: 0x40dedede border_color: 0x40dedede label_color: 0xff000000 hilited_text_color: 0xffc30d23 hilited_back_color: 0xffffffff candidate_text_color: 0xff000000 comment_text_color: 0xff000000 hilited_candidate_text_color: 0xffffffff hilited_comment_text_color: 0xffffffff hilited_candidate_back_color: 0xffc30d23 keyboard_back_color: bg.png

candidate font

"style/candidate_text_size": 22

不过这样做有时候会在切换完主题之后还要手动选一遍配色。