Gnus for Emacs 中的新邮件通知
Posted
技术标签:
【中文标题】Gnus for Emacs 中的新邮件通知【英文标题】:New mail notifications in Gnus for Emacs 【发布时间】:2010-11-06 09:32:37 【问题描述】:我在 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
【问题讨论】:
【参考方案1】:这里有一些额外的细节:
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 页面获得一些帮助。谢谢。【参考方案2】:我可以推荐gnus-desktop-notify
还有一个配置咆哮/Mac设置的示例。
另请注意,您每 2 分钟检查一次(2 * 60 秒,请参阅 gnus-demon-timestep
),只是为了您不想每 2 分钟被打断一次;)
【讨论】:
这应该是公认的答案。M-x package-install <gnus-desktop-notify> RET
现在是标准配置。【参考方案3】:
下载 gnus-notify.el here 并将其放在 emacs 可以找到的地方(我一辈子都无法让安装 el-get 的版本正常工作。哦,好吧,无论如何我不得不破解它,继续阅读) .
把它放在你的 .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 显示为 [acsa 2] (是的,它现在真的死了)像我一样说[perso 12] [work 8]。并且您可以单击标签跳转到该组。非常漂亮。
【讨论】:
以上是关于Gnus for Emacs 中的新邮件通知的主要内容,如果未能解决你的问题,请参考以下文章
使用 emacs 和 gnus 在引用的回复中包含原始消息的日期和时间