我现在使用一个单独的枪支实例,我开始如下:
emacs --name Mail --title Mail --no-desktop --no-splash --funcall gnus
由于gnus的响应很好,并且我所有的其他emacs东西都是在不同的emacs实例中作为emacsclient运行的,所以我想尝试从emacsclient运行gnus。但我正在努力翻译我使用的命令行选项。我必须设置窗口的名称和标题,因为我使用了很棒的窗口管理器,窗口应该根据窗口名称进行排序。另外,我想自动启动gnus。
那么我如何翻译上面的命令,gnus作为emacsclient启动,windows名称和标题设置为Mail?
emacsclient ...???
您还可以使用-F
参数来设置框架列表,并将其与-e
参数组合以执行您喜欢的操作,因此不需要定义任何函数。然后调用看起来像这样:
emacsclient -F '((name . "Mail"))' -e '(gnus)'
参数说明请参见(info "(elisp)Frame parameters")
我不确定仅使用命令行开关就可以做到这一点。但是,可以定义一个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"