Новые почтовые уведомления в 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)

[2] http://www.emacswiki.org/cgi-bin/wiki/gnus-notify.el

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] как и я. И вы можете щелкнуть метку, чтобы перейти к группе. Очень изящно.