#!/bin/sh mhandle() { case $2 in text/html) cp $1 ${1}.html netsurf ${1}.html rm ${1}.html;; image/*) qiv $1;; audio/*|video/*) mpv $1;; pgp/encrypted) gpg --decrypt $1;; application/vnd*) libreoffice $1;; application/pdf) zathura $1;; esac } save_attachments() { while true; do printf "\n" mshow -t printf "\n" printf "select an attachment to save: " read n case ${n} in ''|*[!0-9]*) return ;; *) file=$(mshow -x . ${n}); mv "${file}" ${TARO_DOWNLOADS} ;; esac done } open_attachments() { while true; do printf "\n" mshow -t printf "\n" printf "select an attachment to open: " read n case $n in ''|*[!0-9]*) return ;; *) attachment=$(mktemp) mshow -O . ${n} > ${attachment} mimetype=$(mshow -t | grep ${n}: | awk '{print $2}') mhandle ${attachment} ${mimetype} rm ${attachment};; esac done } keep_track_of_mailfile() { orig=$1 stamp=${orig%,} new=$(\ls -1 ${stamp}*) printf "${new}" } mread() { local this=$(mseq $@) mflag -S ${this} while true; do this=$(keep_track_of_mailfile ${this}) if [ ! -e ${this} ]; then printf "Looks like this email was refiled... Press Enter to close this window. " read break fi (mshow ${this} ; printf "\n"; mshow -t ${this})| less --mouse -Ps"[o]pen or [s]ave attachments, [r]reply, [f]orward, [q]uit"$ case $? in 113) #q break;; 102) #f mfwd ${this};; 114) #r mrep ${this};; 115) #s save_attachments;; 111) #o open_attachments;; esac done } mread $@