Emacs中Gnus的新邮件通知

12
我使用Emacs中的Gnus作为我的邮件客户端。 我已经配置了我的 .gnus.el 定期检查新邮件[1],但是目前,除非切换到组缓冲区,否则我没有办法知道是否收到了新邮件。 我想在特定组或多个组中收到新邮件时接收某种类型的通知。 我发现了 gnus-notify.el [2],但是我无法成功使其正常工作(可能由于我对如何正确配置它的理解不足 - 我是Emacs和Gnus的新手)。 有人能够提供我需要采取哪些步骤才能使 gnus-notify 正确工作,或者提供另一种使用 Gnus 获取某种类型的新邮件指示器的方法吗?
(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 这是一个关于gnus-notify.el的链接。
3个回答

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 文件中安装。

很好,我用上述代码和emacswiki页面的一些帮助成功实现了growl通知。谢谢。 - Ryan E

4

我可以推荐gnus-desktop-notify

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

请注意,您正在每2分钟检查一次(2 * 60s,请参见gnus-demon-timestep),以防您不想每2分钟被打断 ;)


这应该是被接受的答案。M-x package-install <gnus-desktop-notify> RET 现在已经成为标准了。 - yPhil

3
  • 这里下载gnus-notify.el,并将其放置在emacs可以找到的地方(我尝试了el-get-installed版本,但无论如何都无法使其工作。好吧,我必须进行一些修改,继续阅读)。
  • 将以下内容放入你的.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.a 2](是的,它现在真的死了),改成像我一样说[perso 12] [work 8]。您可以点击标签跳转到该组。非常巧妙。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接