当使用 emacsW32 的 Windows 上当前窗口关闭 (x) 时,如何保持 emacs 服务器运行?

发布于 2024-08-16 13:52:10 字数 293 浏览 7 评论 0原文

我在 Windows 上使用 EmacsW32(已修补)。 Emacs 在服务器模式下运行,以便后续调用 emacsclientw 在同一服务器会话中打开文件。

我映射了 Cx Cc 以使当前帧不可见并且不会终止 emacs 服务器进程。我想单击窗口的 X(关闭)按钮来隐藏框架和窗口。不会像当前那样终止服务器进程。

有什么想法吗?谢谢!

I'm using EmacsW32 (patched) on windows. Emacs is running in server mode so that subsequent calls to emacsclientw open files in the same server session.

I have C-x C-c mapped to make the current frame invisible and not kill the emacs server process. I'd like clicking the window's X (close) button to also just hide the frame & not terminate the server process as it currently does.

Any ideas ? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清晨说晚安 2024-08-23 13:52:10

当然,我有一个方法可以做到这一点。可能会有一些改进,但这是一个很好的起点。

首先,我设置一个变量并建议 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 函数只是使框架不可见,就像您绑定到 Cx Cc 的那样。

然后,如果有必要,我有一个附加功能可以正确退出 emacs。这将设置变量并调用kill-emacs,如下所示。

(defun bnb/really-kill-emacs ()
    (interactive)
    (setq bnb/really-kill-emacs t)
    (kill-emacs))

Sure, I have a method of doing this. There may be refinements possible, but this is a good starting place.

First, I setup a variable and advise the kill-emacs function

(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))

The bnb/exit function just makes the frame invisible like what you have bound to C-x C-c.

I then have an additional function to properly exit emacs if that is ever necessary. That will set the variable and call kill-emacs as follows.

(defun bnb/really-kill-emacs ()
    (interactive)
    (setq bnb/really-kill-emacs t)
    (kill-emacs))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文