2

我目前正在使用一个单独的枪支实例,我开始如下:

emacs --name Mail --title Mail --no-desktop --no-splash --funcall gnus

由于 gnus 响应良好,并且我所有其他 emacs 东西都作为 emacsclient 从不同的 emacs 实例运行,我想尝试从 emacsclient 运行 gnus。但我正在努力翻译我使用的命令行选项。我必须设置 windows 名称和标题,因为我使用了很棒的 windows 管理器,并且应该根据窗口名称对窗口进行排序。另外,我想自动启动 gnus。

那么如何翻译上述命令,即 gnus 以 emacsclient 启动,windows 名称和标题设置为 Mail?

emacsclient ...???
4

2 回答 2

3

您也可以使用-F设置框架列表的参数,并将其与-e执行您喜欢的参数组合,因此无需定义任何函数。调用将如下所示:

emacsclient -F '((name . "Mail"))' -e '(gnus)'

有关参数的信息,请参阅(info "(elisp)Frame parameters")

于 2015-09-25T07:18:43.250 回答
1

我不确定您是否可以仅使用命令行开关来执行此操作。但是,可以定义一个 elisp 函数来设置一个 gnus 框架,并从 emacsclient 调用这个函数。

尝试将其放入您的 emacs 初始化文件中:

(defun my/create-gnus-frame ()
  "Create a new frame running `gnus'."
  (select-frame
   (make-frame '((name . "Mail"))))
  (gnus))

并从命令行像这样运行 gnus:

emacsclient -e '(my/create-gnus-frame)'

并且新创建的框架的 X 属性(通过 获得xprop)似乎是正确的:

WM_CLASS(STRING) = "Mail", "Emacs"
WM_ICON_NAME(STRING) = "Mail"
WM_NAME(STRING) = "Mail"
于 2013-04-15T13:21:03.203 回答