我在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)
答案 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)
(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] 这样的东西。您可以单击标签跳转到该组。非常漂亮。