我在Windows上使用EmacsW32 (patched)。 Emacs正在服务器模式下运行,以便后续调用emacsclientw在同一服务器会话中打开文件。
我将 C-x C-c 映射为使当前帧不可见而不会终止emacs服务器进程。我想点击窗口的 X (关闭)按钮,也可以隐藏框架&不要像现在那样终止服务器进程。
有什么想法吗?谢谢!
答案 0 :(得分:2)
当然,我有一种方法可以做到这一点。可能有一些改进,但这是一个很好的起点。
首先,我设置一个变量并建议kill-emacs函数
(defvar bnb/really-kill-emacs nil)
(defadvice kill-emacs (around bnb/really-exit activate)
"Only kill emacs if the variable is true"
(if bnb/really-kill-emacs
ad-do-it)
(bnb/exit))
bnb / exit函数只会使框架不可见,就像你绑定到 C-x C-c 一样。
然后我有一个额外的功能来正确退出emacs,如果有必要的话。这将设置变量并调用kill-emacs如下。
(defun bnb/really-kill-emacs ()
(interactive)
(setq bnb/really-kill-emacs t)
(kill-emacs))