Новые почтовые уведомления в Gnus для Emacs
Я использую Gnus в Emacs в качестве почтового клиента. У меня свои .ГНУ.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)
3 ответов
здесь есть некоторые дополнительные детали:
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
command-это дополнительный пакет, который может быть установлен из полного growl .dmg файл.
Я могу порекомендовать gnus-desktop-notify
существует также пример настройки Growl / Mac setup.
обратите внимание также, что вы проверяете каждые 2 минуты (2 * 60s, см. gnus-demon-timestep
), только для случая, когда вы не хотите прерываться каждые 2 минуты;)
- загрузить gnus-notify.el здесь и поместите его там, где emacs может найти его (я не мог бы для жизни меня сделать работу el-get-installed verion. Ну ладно, мне все равно пришлось взломать его, читайте дальше) .
- положите это в свой .ГНУ.Эл:
(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
, enter (modeline-notify t)
(да, на этот раз без точки и в окружении другой пары паренов, если это единственный параметр для группы - и да, удалите этот трейлинг "nil") и выйдите и сохраните C-c C-c
, но я нахожу это решение более гибким и портативным.
возможно, вам придется настроить регулярное выражение, которое отображается название группы, так как она предназначена для представления alt.компания.системный.Амига!--27--> as [а.С. С. в 2] (да, он действительно мертв) сказать что-то вроде [perso 12] [работа 8] как и я. И вы можете щелкнуть метку, чтобы перейти к группе. Очень изящно.