在引发帧时,如何让Emacs评估文件?

时间:2010-03-30 20:58:29

标签: emacs elisp daemon

基本上我已经设置了我的Emacs,因此它有一个特定于GUI的elisp,但是当它以守护进程模式启动时,这不会进行评估。代码类似于:

;; gui.el
(when window-system
  (progn
    ;; do stuff here
    ))

当我在命令行上运行emacsclient -c时,我想要重新评估这个文件(或至少其中的代码 - 可能是一个函数),因为我错过了我的所有字体锁和颜色-theme善良(因为当存在GUI时,我将这些东西设置为runonly)。

2 个答案:

答案 0 :(得分:3)

您可以将代码放在钩子中,以便在创建帧之前调用

(add-hook 'before-make-frame-hook 'my-gui-initialization-stuff)

在那个钩子里你可能想要一条

的线
(remove-hook 'before-make-frame-hook 'my-gui-initialization-stuff)

所以你不要一遍又一遍地进行初始化。

答案 1 :(得分:0)

启动emacsclient时应该评估GUI功能:

emacsclient -c --eval "(your-gui-init-function)"