fi
export TMPDIR
TMPDIR=$(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
-cleanup() { cd / && rm -rf "$TMPDIR"; }
+
+cleanup() {
+ cd /
+ echo Cleaning up $TMPDIR… >> $TMPDIR/output.stderr
+ notify_output
+ rm -rf "$TMPDIR"
+ trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
+}
trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
cd "$TMPDIR"
fi
}
+notify_output() {
+ if [ -s "$TMPDIR/output.stdout" ] || [ -s "$TMPDIR/output.stderr" ]; then
+ notify $TMPDIR/output.stdout $TMPDIR/output.stderr \
+ "Output from mutt/$SELF on $BASENAME"
+ fi
+}
+
guess_extension() {
python -c "import mimetypes; print(mimetypes.guess_extension('$1'))"
}
fi
}
-notify_output() {
- if [ -s "$TMPDIR/output.stdout" ] || [ -s "$TMPDIR/output.stderr" ]; then
- notify $TMPDIR/output.stdout $TMPDIR/output.stderr \
- "Output from mutt/$SELF on $BASENAME"
- fi
-}
-
case "$SELF" in
(bgrun)
# make a copy of the file, then launch a shell process in the background
FILE="$(get_file "${1:-}")"
(
launch_viewer "$MIMETYPE" "$FILE"
- notify_output
sleep 1
cleanup
) &
# the previous three lines:
## cat > "$FIFO" &
launch_viewer "$MIMETYPE" "${FIFO}"
- notify_output
wait
cleanup
;;
# cases when the FIFO method doesn't work, because e.g. Firefox randomly
# chooses it needs to read HTML files twice.
FILE="$(get_file "${1:-}")"
- (launch_viewer "$MIMETYPE" "${FILE}" && notify_output) &
- (sleep 1m && cleanup) &
+ (launch_viewer "$MIMETYPE" "${FILE}") &
+ (
+ sleep 1m
+ echo Cleaning up $TMPDIR… > $TMPDIR/output.stderr
+ cleanup
+ ) &
+ trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
;;
esac