基本上我已经设置了我的Emacs,因此它有一个特定于GUI的elisp,但是当它以守护进程模式启动时,这不会进行评估。代码类似于:
;; gui.el
(when window-system
(progn
;; do stuff here
))
当我在命令行上运行emacsclient -c时,我想要重新评估这个文件(或至少其中的代码 - 可能是一个函数),因为我错过了我的所有字体锁和颜色-theme善良(因为当存在GUI时,我将这些东西设置为runonly)。
答案 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)"