首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用emacsclient而不是emacs转换参数

使用emacsclient而不是emacs转换参数
EN

Stack Overflow用户
提问于 2013-04-15 17:41:51
回答 2查看 490关注 0票数 2

我现在使用的是一个单独的枪实例,我从下面开始:

代码语言:javascript
复制
emacs --name Mail --title Mail --no-desktop --no-splash --funcall gnus

由于gnus的响应性很好,而我的所有其他emacs应用程序都是以emacsclient的身份从不同的emacs实例运行的,所以我想尝试也以emacsclient的身份运行gnus。但我正在努力翻译我使用的命令行选项。我必须设置windos的名称和标题,因为我正在使用很棒的窗口管理器,窗口应该根据窗口名称进行排序。另外,我想自动启动gnus。

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

代码语言:javascript
复制
emacsclient ...???
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-15 21:21:03

我不确定只使用命令行开关就能做到这一点。但是,可以定义一个elisp函数来设置gnus框架,并从emacsclient调用该函数。

尝试将以下内容放入emacs初始化文件中:

代码语言:javascript
复制
(defun my/create-gnus-frame ()
  "Create a new frame running `gnus'."
  (select-frame
   (make-frame '((name . "Mail"))))
  (gnus))

在命令行中像这样运行gnus:

代码语言:javascript
复制
emacsclient -e '(my/create-gnus-frame)'

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

代码语言:javascript
复制
WM_CLASS(STRING) = "Mail", "Emacs"
WM_ICON_NAME(STRING) = "Mail"
WM_NAME(STRING) = "Mail"
票数 1
EN

Stack Overflow用户

发布于 2015-09-25 15:18:43

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

代码语言:javascript
复制
emacsclient -F '((name . "Mail"))' -e '(gnus)'

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16012024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档