Проблема
MacOS не использует DBus для отправки уведомлений, поэтому компилировать Emacs с поддержкой DBus и использовать
(require 'notification)
(notifications-notify :title "Title" :body "Message!")
не получается.
Решение
Можно это обойти следующим образом:
Установить
terminal-notifier
:brew install terminal-notifier
Добавить вспомогательные функции:
(defvar vlad/terminal-notifier-command (executable-find "terminal-notifier") "The path to terminal-notifier.") (defun vlad/terminal-notifier-notify (title message) "Show a message with `vlad/terminal-notifier-command`." (start-process "terminal-notifier" "*terminal-notifier*" vlad/terminal-notifier-command "-sound" "default" "-title" title "-message" message "-activate" "org.gnu.Emacs" ;; "-sender" "org.gnu.Emacs" )) (defun vlad/timed-notification (time msg) (interactive "sNotification when (e.g: 2 minutes, 60 seconds, 3 days): \nsMessage: ") (run-at-time time nil (lambda (msg) (vlad/terminal-notifier-notify "Emacs" msg)) msg))
Строчка с "-sender"
закомментирована по следующей причине. С ней вместо непонятной иконки MacOS отображает красивую иконку Emacs, но почему-то перестаёт работать звук. Так как мне важнее звук, чем то, как выглядит уведомление, я её закомментировал.