Next: , Previous: , Up: Interaction with other tools   [Contents]


A.5 Sauron

The emacs-package sauron41 (by the same author) can be used to get notifications about new mails. If you run something like the below script from your crontab (or have some other way of having it execute every n minutes), you receive notifications in the sauron-buffer when new messages arrive.

#!/bin/sh

# the mu binary
MU=mu

# put the path to your Inbox folder here
CHECKDIR="/home/$LOGNAME/Maildir/Inbox"

sauron_msg () {
DBUS_COOKIE="/home/$LOGNAME/.sauron-dbus"
if test "x$DBUS_SESSION_BUS_ADDRESS" = "x"; then
  if test -e $DBUS_COOKIE; then
    export DBUS_SESSION_BUS_ADDRESS="`cat $DBUS_COOKIE`"
  fi
fi
if test -n "x$DBUS_SESSION_BUS_ADDRESS"; then
  dbus-send --session                          \
    --dest="org.gnu.Emacs"                     \
    --type=method_call                         \
      "/org/gnu/Emacs/Sauron"                  \
      "org.gnu.Emacs.Sauron.AddMsgEvent"       \
      string:shell uint32:3 string:"$1"
fi
}

#
# -mmin -5: consider only messages that were created / changed in the
# the last 5 minutes
#
for f in `find $CHECKDIR -mmin -5 -a -type f`; do
  subject=`$MU view $f | grep '^Subject:' | sed 's/^Subject://'`
  sauron_msg "mail: $subject"
done

You might want to put:

(setq sauron-dbus-cookie t)

in your setup, to allow the script to find the D-Bus session bus, even when running outside its session.


Footnotes

(41)

Sauron can be found at https://github.com/djcb/sauron, or in the Marmalade package-repository at http://http://marmalade-repo.org/