获取 Emacs 中 Emacs 应用程序的名称



>上下文

我复制了 Emacs.app 并将其重命名为 TerminalEmacs.app,这样我就可以通过键入"t"从Alfred访问(emacs)终端。通过这种方式,我将所有的终端框架/窗口保存在一个 emacs 进程 (TerminalEmacs.app) 中,而将我的工作保存在另一个进程 (Emacs.app) 中。

问题

我想只有在 emacs 进程从 TerminalEmacs.app 启动时才运行一些初始化,所以我想从 emacs 中检查 emacs 应用程序进程的名称。

您可以访问环境变量 EMACSPATH ,在 Mac 上,它包含 Emacs.app(或任何应用程序的名称)作为路径的一部分。我想你可以做这样的事情:

(if (string-match "TerminalEmacs\.app" (getenv "EMACSPATH"))
   ...)

变量command-line-args最初包含原始应用程序名称和所有参数。参数稍后会在处理时从列表中删除,但应用程序名称仍然是列表的一部分。

您可以执行以下操作:

(if (string-match "TerminalEmacs\.app" (car command-line-args))
    ...)

最新更新