关于下一代同文主题设计规范的讨论 #1434
Replies: 17 comments
-
这个我不懂,听你的!😅 |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
一个和主题文件本身关西不大,但是在重构keyboard过程中会涉及的问题: |
Beta Was this translation helpful? Give feedback.
-
另外,目前同文实际上没有处理大写锁定(caplock),只是模拟了shift长按的动作。在输入符号及空格选字的场景下,和pc有差别 |
Beta Was this translation helpful? Give feedback.
-
是否应该删除send_bindings?似乎没有什么用
|
Beta Was this translation helpful? Give feedback.
-
主题规范的设计十分宏大,确实不是能“一口吃成胖子的”。我在 #774 提到了主题等配置文件解析重构的需要,当前也确实有必要。我们可以整理出一个路线图,一步步实现,不用着急。 |
Beta Was this translation helpful? Give feedback.
-
或许我应该提一个issue,我想说一下现有的主题功能的一些体验上的问题: 我觉得我们需要一个方便的 主题预览和选取的功能。 rime现在自带的主题的配色命名太抽象了, 我在使用“同文风”主题时,(为了使用剪贴板和草稿箱), 对于配色的名字“丹青, steam” 其实就是换个颜色,但是光看名字,想象中的颜色和实际出入比较大, 个人现在的理想中的主题设置方式: 最好是实时的,可以想象,一些输入法的 主题商店的感觉。 |
Beta Was this translation helpful? Give feedback.
-
I think the |
Beta Was this translation helpful? Give feedback.
-
#799 增加了另一种写法,绕过librime来直接commit文字,本质上和 |
Beta Was this translation helpful? Give feedback.
-
1、候选栏的功能键,能不能把多个功能集成到一个按键里面?有些功能不放在那里,要用的时候不方便,平时占用一个位置又显得鸡肋。这个似乎不属于主题范畴?能不能在主题里面也可以定义候选栏功能键? |
Beta Was this translation helpful? Give feedback.
-
确实有必要,网上找的主题一应用程序就崩溃 |
Beta Was this translation helpful? Give feedback.
-
如果要验证一个 XXX.trime.yaml 的 正确性的话, 我觉得 json schema 可能会有帮助 https://python-jsonschema.readthedocs.io/en/stable/ 只需编写一个 json schema 文件,然后就可以用来验证一个 json、yaml、toml 是否正确。 |
Beta Was this translation helpful? Give feedback.
-
听起来很不错,但是我搞不懂怎么整 …… |
Beta Was this translation helpful? Give feedback.
-
我给一个 demo 吧: #1294 $ yaml2json app/src/main/assets/rime/tongwenfeng.trime.yaml -o /dev/shm/tongwenfeng.trime.json
$ jsonschema -opretty -i/dev/shm/tongwenfeng.trime.json doc/trime-schema.json
===[SUCCESS]===(/dev/shm/tongwenfeng.trime.json)===
假如有错的话会是这样: 我们将 ...
style:
auto_caps: wrong #自動句首大寫:true|false|ascii $ jsonschema -opretty -i/dev/shm/tongwenfeng.trime.json doc/trime-schema.json
===[ValidationError]===(/dev/shm/tongwenfeng.trime.json)===
'wrong' is not one of [True, False, 'ascii']
Failed validating 'enum' in schema['properties']['style']['properties']['auto_caps']:
{'default': False,
'description': '自动句首大写',
'enum': [True, False, 'ascii']}
On instance['style']['auto_caps']:
'wrong'
----------------------------- 于是在用户加载错误的 trime.yaml 导致崩溃前可以提前注意到 auto_caps 错了。 对 trime.yaml 的开发者而言,他们也可以利用支持 LSP 的编辑器辅助开发,例如: |
Beta Was this translation helpful? Give feedback.
-
@Freed-Wu 这个 demo 我觉得很有意思,不知道有没有更多应用案例。我想把这个检查能力移植到应用中来 …… |
Beta Was this translation helpful? Give feedback.
-
我知道 tree-sitter 有用 json schema 验证一些 json 文件的正确性的。 https://github.com/tree-sitter/tree-sitter/blob/master/cli/src/generate/grammar-schema.json 不过 Android APP 的例子好像还没见到过。 |
Beta Was this translation helpful? Give feedback.
-
有没有可能将键盘配置,配色,还有liquid keyboard分割成不同的文件。 我理想中的键盘定义方式是:
如果需要修改某个键盘schema定义对应的键盘布局,可以生成对应的patch文件,比如pinyin.trime.layout.patch.yaml来override default layout定义。 |
Beta Was this translation helpful? Give feedback.
-
背景
同文主题参多,功能复杂,支持的书写方式繁多,部分参数命名混乱,并且无配套GUI工具。制作和调试需要消耗大量时间。最终成品良莠不齐,结构复杂,可维护性低。
目的
讨论并制定下一代同文主题的设计规范
行动
deprecated
标记,新主题中增加trime_version
参数。当trime_version
参数与同文版本一致时,使用新方法,否则弹出消息并使用旧方法;新方法完全不对旧方法做兼容。正文
原主题:
新主题:
android_keys#android预设key可以作为制作主题的参考资料,没有必要进行预设Beta Was this translation helpful? Give feedback.
All reactions