From 8937bb7554dbcfad9face59b9d9b5c4368fcff6e Mon Sep 17 00:00:00 2001 From: "martin f. krafft" Date: Wed, 31 Jul 2019 08:30:50 +1200 Subject: [PATCH 1/1] bgrun: notify about output during cleanup --- .mutt/bgrun | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/.mutt/bgrun b/.mutt/bgrun index 82e1748..d4278b2 100755 --- a/.mutt/bgrun +++ b/.mutt/bgrun @@ -9,7 +9,7 @@ elif [ -d "${TMPDIR}/volatile" ]; then fi export TMPDIR TMPDIR=$(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX) -cleanup() { cd / && rm -rf "$TMPDIR"; } +cleanup() { cd / && notify_output && rm -rf "$TMPDIR"; } trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15 cd "$TMPDIR" @@ -29,6 +29,13 @@ notify() { 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'))" } @@ -52,13 +59,6 @@ get_file() { 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 @@ -67,7 +67,6 @@ case "$SELF" in FILE="$(get_file "${1:-}")" ( launch_viewer "$MIMETYPE" "$FILE" - notify_output sleep 1 cleanup ) & @@ -86,7 +85,6 @@ case "$SELF" in # the previous three lines: ## cat > "$FIFO" & launch_viewer "$MIMETYPE" "${FIFO}" - notify_output wait cleanup ;; @@ -96,7 +94,11 @@ case "$SELF" in # 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 + ) & ;; esac -- 2.39.5