All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
5 if [ -z "$TMPDIR" ]; then
7 elif [ -d "${TMPDIR}/volatile" ]; then
8 TMPDIR="${TMPDIR}/volatile"
11 TMPDIR=$(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
15 echo Cleaning up $TMPDIR… >> $TMPDIR/output.stderr
18 trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
20 trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
25 if [ -x "$(command -v awesome-client)" ]; then
26 awesome-client <<-_eof
27 local naughty = require("naughty")
28 naughty.notify({ preset = naughty.config.presets.low,
31 $(sed -e 's,\",\\\",g' "$1")
33 $(sed -e 's,\",\\\",g' "$2")]]
40 if [ -s "$TMPDIR/output.stdout" ] || [ -s "$TMPDIR/output.stderr" ]; then
41 notify $TMPDIR/output.stdout $TMPDIR/output.stderr \
42 "Output from mutt/$SELF on $BASENAME"
47 python -c "import mimetypes; print(mimetypes.guess_extension('$1'))"
51 run-mailcap --action=view "$1":"$2" > output.stdout 2> output.stderr
59 t=$(tempfile -d . -p mutt -s $(guess_extension "$MIMETYPE"))
63 t="$(echo ${1##*/} | sed -re 's![^[:alnum:],.@%^+=_-]!_!gi')"
71 # make a copy of the file, then launch a shell process in the background
72 # to divert to run-mailcap, after which the temporary directory gets
74 FILE="$(get_file "${1:-}")"
76 launch_viewer "$MIMETYPE" "$FILE"
80 trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
83 # hack to stay around until the viewer has read the file: make a fifo and
84 # wait for the cat process to finish writing to it, which means that it
85 # must have been consumed on the other end.
86 FILE="$(get_file "${1:-}")"
87 FIFO="${FILE%/*}/fifo-${FILE##*/}"
89 cat "$FILE" > "$FIFO" &
90 # For some reason, we do have to write a tempfile and cannot seem to
91 # redirect stdin directly to the fifo, i.e. this does not work instead of
92 # the previous three lines:
94 launch_viewer "$MIMETYPE" "${FIFO}"
99 # hack to stay around for a fixed period of time after the viewer process
100 # returns control to the caller, so that we can clean up. This is for
101 # cases when the FIFO method doesn't work, because e.g. Firefox randomly
102 # chooses it needs to read HTML files twice.
103 FILE="$(get_file "${1:-}")"
104 (launch_viewer "$MIMETYPE" "${FILE}") &
107 echo Cleaning up $TMPDIR… > $TMPDIR/output.stderr
110 trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15