cute-jumper / fcitx.el

Better fcitx integration for Emacs.
129 stars 16 forks source link

如果没有安装 fcitx-remote,是不是可以更优雅地提示,而不是直接出错? #26

Open zilongshanren opened 7 years ago

zilongshanren commented 7 years ago

https://github.com/emacs-china/Spacemacs-rocks/issues/111

cute-jumper commented 7 years ago

我看了一下,spacemacs 的 Chinese layer 使用的是 fcitx-evil-turn-on,这个函数不会检查 fcitx-remote 是否存在,所以导致后面的 call-process 出错。避免错误的用法是像 fcitx-default-setup 或者 fcitx-aggressive-setup 函数一样,用 fcitx--check-status 先做检查,然后再开启对应的功能。

cute-jumper commented 7 years ago

我把 fcitx--check-status 重命名为 fcitx-check-status,加入了 autoload cookie。建议直接在 spacemacs 中修改。

zilongshanren commented 7 years ago

@cute-jumper OK, 我去往 Spacemacs 发个 PR。另外,你觉得 fcitx-evil-turn-on 作为默认设置好吗? 还是使用 fcitx-aggressive-setup 好一些?

cute-jumper commented 7 years ago

我个人是推荐使用 fcitx-aggressive-setup。其实我在 README 里面有提到:

For Spacemacs users:

;; Make sure the following comes before `(fcitx-aggressive-setup)'
(setq fcitx-active-evil-states '(insert emacs hybrid)) ; if you use hybrid mode
(fcitx-aggressive-setup)
(fcitx-prefix-keys-add "M-m") ; M-m is common in Spacemacs
;; (setq fcitx-use-dbus t) ; uncomment if you're using Linux

根据我对 Spacemacs 的了解(但我并不是 Spacemacs 用户),我觉得上面的配置比较合理吧。

zilongshanren commented 7 years ago

@cute-jumper
thanks,我测试一下,回头发个 PR 过去。