2009-06-27 44 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]。你可以点击标签跳转到该组。非常漂亮。