#!/bin/csh -f

# Watch for someone ($1) to read mail.  Catches "last read" or "unread
# since" but not "unread for" as when fingering alapaugh.

set tempfile = /tmp/watchmail.$USER.$$
set period = 120

finger -l -m $1 | sed -n 's+.*last read ++p\
                      s+.*unread since ++p' > $tempfile

while (1)
  set oldtime = "`cat $tempfile`"
  finger -l -m $1 | sed -n 's+.*last read ++p\
                      s+.*unread since ++p' > $tempfile
  set newtime = `cat $tempfile`
  set difflines = `(echo $newtime; echo $oldtime) | sort -u | wc -l`
  if (($difflines > 1) || ("$newtime" == "") || ("$oldtime" == "")) then
    echo $1 read mail
    rm $tempfile
    exit (0)
  endif
  sleep 120
end
