emacsclient -a '' -n
仅在还没有框架时,如何才能创建一个新框架?
-c
标志的问题是它每次都会创建一个新的帧。没有它的问题是,如果没有打开的框架,它将在命令行中打开。
如果可以从外壳检查是否有打开的Emacs框架,则可以-c
根据需要进行调用,无论是否调用它,都可以得到所需的行为。我试过了:
$ emacsclient -a '' --eval '(frames-on-display-list)'
(#<frame F1 0xba2740>)
我总是得到相同的结果。
我可以使用临时文件或pgrep,但是这些方法很容易出错。
这类似于此问题,但不是重复的,因为OP对在调用之前必须打开框架感到满意emacsclient
。
elisp
,bash
以及sh
答案。