>上下文
我复制了 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))
...)