Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

engine里方法名重复问题 #364

Open
Magician62011 opened this issue Sep 19, 2024 · 3 comments
Open

engine里方法名重复问题 #364

Magician62011 opened this issue Sep 19, 2024 · 3 comments

Comments

@Magician62011
Copy link
Contributor

Magician62011 commented Sep 19, 2024

types.cc 里584行里方法与579行里命名重复了,导致无法调用到set_active_engine

librime-lua/src/types.cc

Lines 579 to 584 in fa6563c

{ "active_engine", WRAPMEM(T::active_engine) },
{ NULL, NULL },
};
static const luaL_Reg vars_set[] = {
{ "active_engine", WRAPMEM(T::set_active_engine) },

另外我在尝试实现手动切换横竖展示。我可以通过set_bool更改配置参数 schema.config:set_bool('style/horizontal', h_swtich_state)
但是我发现它不会立即生效,而在我使用ctrl+`触发一下activate后,它会生效。所以我想尝试调用下面的方法,看看会不会实现立即触发它。所以也想请教下大神朋友们,有没有其他方式能触发配置被引擎立即加载更新生效。谢谢~

@shewer
Copy link
Contributor

shewer commented Sep 19, 2024

那個參數 在librime 中 只有 selector 初始化時用在 keybind 如方向鍵置換
librime 只是輸入法框架 沒有控制 前端ui 的機制

前端目前只在導入方案時設定 ,井沒有即時檢查 horizontal 這個option
即使ui 更換了 selector 初始化後 方向鍵綁定後就不在更動
以目前看來 只有 重置 重新導入方案較爲可行

另一個問題是 重新導入方案是從 build/scham.yaml 中載入 ,
我不認爲 config:set_bool 可以用,要看前端的ui 初始化是在 engine 初始化後才有機會

@Magician62011
Copy link
Contributor Author

Magician62011 commented Sep 19, 2024

您说的很有道理,我也觉得这种需求,依靠的是前端的机制,什么时候重新渲染不好确定。好在我现在测试发现,我的确更改的是engine里的实时参数,会产生日志
I20240919 12:41:16.496542 10492 config_data.cc:201] write: style/horizontal
在我set_bool后,哪怕不做任何操作,观察info log发现,在日志出现starting engine后,展现就会有切换。如果是我使用Ctrl+`唤出切换列表后,日志出现
switcher.cc:244] switcher is activated.
它就会立即变化。我用的是小狼毫,应该是某种机制触发了UI重新渲染了被修改的配置值。
我查找librime,里面包含了set_active_engine方法。所以我寄希望于它能帮助我达到目的。

switcher is activated

https://github.com/rime/librime/blob/9fa2bbc0dae3ded48ff4e71669cedc38c49f72f0/src/rime/switcher.cc#L243-L249

@Magician62011
Copy link
Contributor Author

抱歉,之前是我的问题,这并不是一个命名错误,是我小白没有看懂代码设计,很抱歉。现在我了解vars_get和vars_set的在lua脚本里的用法了。并通过不断努力尝试,写出了能让lua实现 小狼毫输入法horizontal横竖切换的脚本了。 再次感谢插件作者和所有贡献者~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants