+++ /dev/null
-#!/bin/sh
-
-#exec 2>> /tmp/bgrun.stderr
-#set -x
-
-SELF="${0##*/}"
-
-TEMPDIR=
-TEMPRUNDIR=.tempdir-run.d
-cleanup() {
-  if [ -d $TEMPRUNDIR ]; then
-    local TEMPDIR; TEMPDIR="$PWD"
-    notify_output
-    cd /
-    rm -rf "$TEMPDIR"
-  fi
-  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
-
-enter_tempdir() {
-  if [ -d $TEMPRUNDIR ]; then
-    return
-
-  else
-    if [ -z "${TMPDIR:-}" ]; then
-      TMPDIR=/tmp
-    fi
-    for i in $LOGNAME volatile; do
-      if [ -d "${TMPDIR}/$i" ]; then
-        TMPDIR="${TMPDIR}/$i"
-        break
-      fi
-    done
-    cd $(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
-    mkdir $TEMPRUNDIR
-  fi
-}
-
-notify() {
-  if [ -x "$(command -v awesome-client)" ]; then
-    local stdout stderr escaped output
-    stdout="${2:-}"
-    stderr="${3:-}"
-    for i in stdout stderr; do
-      if eval test -s $TEMPRUNDIR/output.$i; then
-        escaped=$(eval sed -e 's,\",\\\",g' $TEMPRUNDIR/output.$i)
-        output="${output:+$output
-}${i}:
-$escaped"
-      fi
-    done
-    [ -n "${escaped:-}" ] || return
-    awesome-client <<-_eof
-       local naughty = require("naughty")
-       naughty.notify({ preset = naughty.config.presets.low,
-               title  = "${1:-Output from mutt/$SELF}",
-               text   = [[$output]]
-               })
-       _eof
-  fi
-}
-
-notify_output() {
-  [ -d $TEMPRUNDIR ] || return
-  local stdout stderr anything
-
-  for i in stdout stderr; do
-    if [ -s "$TEMPRUNDIR/output.$i" ]; then
-      eval $i="'$TEMPRUNDIR/output.$i'"
-    else
-      eval $i=/dev/null
-    fi
-  done
-
-  notify "Output from mutt/$SELF" $stdout $stderr
-}
-
-guess_extension() {
-  python3 -c "import mimetypes; print(mimetypes.guess_extension('$1'))"
-}
-
-get_file() {
-  local t
-  if [ -z "$1" ]; then
-    t=$(mktemp -p "$PWD" tmp.XXXXXXXXXX$(guess_extension "$MIMETYPE"))
-    cat > "$t"
-    echo "$t"
-  else
-    t="$(echo -n ${1##*/} | sed -re 's![^[:alnum:],.@%^+=_-]!_!gi')"
-    ln "$1" "$t" 2>/dev/null || cp "$1" "$t"
-    echo "$PWD/$t"
-  fi
-}
-
-MIMETYPE= FILENAME= VIEWER= DELAY=1
-state=
-for arg in "$@"; do
-  case "$state/$arg" in
-
-    (/-t) state=t;;
-    (t/*) MIMETYPE="$arg"; state=;;
-
-    (/-f) state=f;;
-    (f/*) FILENAME="$arg"; state=;;
-
-    (/-d) state=d;;
-    (d/*) DELAY="$arg"; state=;;
-
-    (/-v) state=v;;
-    (v/*) VIEWER="$arg"; state=;;
-
-    (*)
-      echo >&2 "E: Invalid argument: $i"
-      exit 1
-      ;;
-
-  esac
-done
-
-launch_viewer() {
-  local filename; filename="$1"
-  if [ -z "$VIEWER" ]; then
-    [ -n "${2:-}" ] && filename="${2}:${1}"
-    run-mailcap "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
-  else
-    $VIEWER "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/output.stderr
-  fi
-}
-
-case "$SELF" in
-  (bgview)
-    # make a copy of the file, then launch a shell process in the background
-    # to divert to run-mailcap, after which the temporary directory gets
-    # cleaned up.
-    enter_tempdir
-    FILE="$(get_file "$FILENAME")"
-    (
-      ts=$(($(date +%s) + $DELAY))
-      launch_viewer "$FILE" "$MIMETYPE"
-      while [ $(date +%s) -lt $ts ]; do sleep 1; done
-      cleanup
-    ) &
-    trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-    ;;
-  (bgview-fifo)
-    # hack to stay around until the viewer has read the file: make a fifo and
-    # wait for the cat process to finish writing to it, which means that it
-    # must have been consumed on the other end.
-    enter_tempdir
-    FILE="$(get_file "$FILENAME")"
-    FIFO="fifo-${FILE##*/}"
-    mkfifo "$FIFO"
-    cat "$FILE" > "$FIFO" &
-    # For some reason, we do have to write a tempfile and cannot seem to
-    # redirect stdin directly to the fifo, i.e. this does not work instead of
-    # the previous three lines:
-    ## cat > "$FIFO" &
-    launch_viewer "$FIFO" "$MIMETYPE"
-    wait
-    cleanup
-    ;;
-  (bgview-delay)
-    # hack to stay around until the file hasn't been accessed for a few
-    # seconds, so that we can clean up. This is for cases when the FIFO method
-    # doesn't work, because e.g. Firefox randomly chooses it needs to read
-    # HTML files twice.
-    enter_tempdir
-    FILE="$(get_file "$FILENAME")"
-    touch "$FILE"
-    (launch_viewer "$FILE" "$MIMETYPE") &
-    (
-      while [ $(($(stat -c%X "$FILE") + $DELAY)) -gt $(date +%s) ]; do
-        sleep 1
-      done
-      cleanup
-    ) &
-    trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-    ;;
-esac