2013-04-15 23 views
2

我在使用的槍一個單獨的實例,我開始爲後續的時刻:使用emacsclient代替的Emacs - 翻譯參數

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

由於角馬是很好的迴應,以及我的所有其他的Emacs的東西正在運行作爲來自不同emacs實例的emacsclient,我想嘗試從emacsclient運行gnus。但是我正在努力翻譯我使用的生產線選項。我必須設置windos名稱和標題,因爲我使用的是令人敬畏的窗口管理器,窗口應根據窗口名稱進行排序。另外,我想自動啓動gnus。

那麼如何翻譯上面的命令,gnus是以emacsclient的形式啓動的,並將Windows的名稱和標題設置爲Mail?

emacsclient ...??? 

回答

1

我不確定你只能使用命令行開關來做到這一點。但是,可以定義一個elisp函數來設置gnus框架,並從emacsclient調用該函數。

嘗試把這個在您的Emacs初始化文件:

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

,並在命令行運行角馬是這樣的:

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

和X屬性(如xprop獲得)新創建的框架似乎是正確的:

WM_CLASS(STRING) = "Mail", "Emacs" 
WM_ICON_NAME(STRING) = "Mail" 
WM_NAME(STRING) = "Mail" 
3

您也可以使用-F參數設置幀alist並將其與-e參數結合使用,以執行您喜歡的操作,因此不需要定義任何函數。調用將如下所示:

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

有關參數的信息,請參見(info "(elisp)Frame parameters")