如何在打开某个minibuffer的时候切换输入法?

我是使用org-roam的有的时候我想创建一个中文的org-roam-node 这个时候使用org-roam-node-find,会新打开一个minibuffer,等待挑选或者创建新的节点, 因为使用sis作为自动切换输入法,打开就是切换到了英文,我想要额外定制一个函数能够做 到:光标位于新的minibuffer的时候输入法是中文的. 目前的手段是使用定义一个新的函数如下

  (global-set-key (kbd "C-c n n")
                  '(lambda()
                     (interactive)
                     (org-roam-node-find)
                     (sis-set-other)))

我怀疑是执行完这个之后才执行sis对应的切换函数,导致没有切换中文成功

这种情况下使用自动切换不是个好主意。

自动切成中文,那建英文标题怎么办?还是需要手动切输入法。

或者是在 org 中选中区域,用org-roam-node-insert来创建新node.

我猜 sis 可能有个断言,判断当前位置是 minibuffer 之后会自动切换到英文。

看了下代码,应该设置这个变量就可以了 sis-respect-minibuffer-triggers,代码里面有文档示例:

(add-to-list 'sis-respect-minibuffer-triggers
	             (cons 'org-roam-find-file (lambda () 'other)))

对,所以我的思路是新建一个函数,只有调用这个函数的时候才切成中文,其他的函数正常使用,还是英文状态,也就是为啥我不想加hook的原因