Gnus中针对Emacs的新邮件通知

时间:2009-06-27 17:27:03

标签: email emacs gnus

我在Emacs中使用Gnus作为我的邮件客户端。我的.gnus.el配置为定期检查邮件[1]但是,现在,我无法知道我是否收到了切换到组缓冲区的新邮件。当我在特定组或组中收到新邮件时,我希望收到某种类型的通知。我找到了gnus-notify.el [2]但是我没有成功地让它工作(诚然,可能是由于我对如何正确配置它缺乏了解 - 我是Emacs和Gnus的新手)。任何人都可以提供我需要采取的步骤,以使gnus-notify正常工作或提供另一种方法来使用Gnus获取某种类型的新邮件指示器吗?

[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

3 个答案:

答案 0 :(得分:6)

这里有一些额外的细节:

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

如果您使用的是Mac,则可以使用growlnotify命令获取新邮件的警报。更新后的mac-biff-update函数可能如下所示:

(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命令是一个可选包,可以从完整的growl .dmg文件安装。

答案 1 :(得分:3)

我可以推荐gnus-desktop-notify

还有一个配置growl / Mac设置的示例。

另请注意,您每2分钟检查一次(2 * 60s,请参阅gnus-demon-timestep),仅适用于您不希望每2分钟中断的情况;)

答案 2 :(得分:2)

  • 下载gnus-notify.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) (是的,这次没有点,并且被另一对parens所包围,如果它是该组的唯一参数 - 是的,删除那个尾随'nil')并退出并保存C-c C-c,但我发现这个解决方案更灵活,更便携。

您可能需要调整显示该组名称的正则表达式,因为它旨在将 alt.comp.sys.amiga 显示为 [acsa 2] (是的,现在真的死了)像我一样说出像 [perso 12] [work 8] 这样的东西。您可以单击标签跳转到该组。非常漂亮。