#!/bin/zsh #dep:perl notify-send DEFAULT=raw ICON=/usr/share/icons/Adwaita/48x48/actions/mail-message-new.png opt() { if [ -n "$1" ]; then return 0 else return 1 fi } contains() { arr=$1 value=$2 [[ ${${(P)arr}[(ie)$value]} -lt ${#${(P)arr}} ]] } zparseopts -D -E h=help -help=help \ r=raw -raw=raw \ n=number -number=number \ p=pretty -pretty=pretty if [ -n "$help" ]; then cat </\>/' } from() { formail -zcb -xFrom | tail -n 1 | decode } subject() { formail -zcb -xSubject | decode } if opt $number; then echo -n $newmails | wc -l exit 0 fi if opt $pretty; then touch $cache seen=$(<$cache) truncate --size 0 $cache notify-send --icon=$ICON "$( echo -n $newmails | while read mail; do if ! contains seen $mail; then echo -n "$(from < $mail): $(subject < $mail)
" fi echo $mail >> $cache done )" exit 0 fi #otherwise echo -n $newmails