2009-06-27 74 views
10

我在Emacs中使用Gnus作爲我的郵件客戶端。我將我的.gnus.el配置爲定期檢查郵件[1],但現在,我無法知道是否收到新郵件,無法切換到組緩衝區。我想在特定的一個或多個組中收到新郵件時收到某種類型的通知。我發現了gnus-notify.el [2],但是我沒有成功實現它的工作(可以肯定的是,由於我對如何正確配置它缺乏瞭解 - 我是Emacs和Gnus的新手)。任何人都可以提供我需要採取的步驟來讓gnus-notify正常工作,或者提供另一種方式來使用Gnus獲得某種類型的新郵件指示器嗎?Gnus中的Emacs新郵件通知

[1]

(gnus-demon-add-handler 'gnus-group-get-new-news 2 t) 
(gnus-demon-init) 

[2] http://www.emacswiki.org/cgi-bin/wiki/gnus-notify.el

回答

6

這裏有一些額外的細節:

http://www.emacswiki.org/emacs/GnusBiff

如果你是在Mac上,你可能只需要使用growlnotify命令以獲得新郵件的良好警報。更新後的MAC-一擊更新功能可能會是這個樣子:

(defun mac-biff-update() 
    "Read the mail count from Gnus." 
    (let ((buffer (get-buffer "*Group*")) 
     (count 0)) 
    (when buffer 
     (with-current-buffer buffer 
     (goto-char (point-min)) 
     (while (re-search-forward mac-biff-mail-re nil t) 
      (setq count (+ count (string-to-number (match-string 1))))))) 
    (if (> count 0) 
      (shell-command 
      (format "/usr/local/bin/growlnotify -a Emacs.app -m 'You have %d new messages!'" count))))) 

growlnotify命令是一個可選包,可以從完整的咆哮.dmg文件進行安裝。

+0

不錯。我能夠使用上述代碼獲得咆哮通知,並從emacswiki頁面獲得一些幫助。謝謝。 – 2009-06-29 14:44:04

3

我可以推薦gnus-desktop-notify

還有配置咆哮/ Mac上安裝的例子。

還要注意,你每2分鐘檢查(2點* 60,見gnus-demon-timestep),只是情況下,你不希望每次2分鐘就被中斷;)

+0

這應該是被接受的答案。 `M-x軟件包安裝 RET`是當今的標準。 – yPhil 2015-11-18 16:50:14

2
  • 下載角馬,通知.el here,並把它放在emacs可以找到它的地方(我不能爲了我的生活而使得安裝好的版本正常工作,噢,無論如何,我必須破解它)。
  • 在.gnus.el將這個:
(setq gnus-parameters 
'(("INBOX" 
    (gnus-use-adaptive-scoring nil) 
    (gnus-use-scoring nil) 
    (visible . t) 
    (display . all) 
    (modeline-notify . t) 
    ))) 

然後嘗試M-x gnus-mst-show-groups-with-new-messages,看看它是否正確安裝。

(如果您有其他gnus-parameters定義,讓這一個是最後一個)

通常你應該使用這個參數在每個組的基礎上,通過轉到*groups*緩衝區,把光標在一個組上,按G p,輸入(modeline-notify t)(是的,這次沒有小點,如果它是組的唯一參數 - 是的,刪除尾部'nil'),然後退出並保存通過C-c C-c,但我覺得這個解決方案更靈活和便攜。

您可能需要調整顯示的組名正則表達式,因爲它的設計呈現alt.comp.sys.amiga[A.C.S.一個2](是的,現在真的死了)像我這樣說[perso 12] [工作8]。你可以點擊標籤跳轉到該組。非常漂亮。