]>
git.madduck.net Git - etc/mutt.git/blobdiff - .mutt/bgrun
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
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.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
-TEMPDIR_SENTINEL=.tempdir
+TEMPRUNDIR=.tempdir-run.d
- if [ -e $TEMPDIR_SENTINEL ]; then
+ if [ -d $TEMPRUNDIR ]; then
local TEMPDIR; TEMPDIR="$PWD"
local TEMPDIR; TEMPDIR="$PWD"
- echo Cleaning up tempdir $TEMPDIR… >> output.stderr
notify_output
cd /
rm -rf "$TEMPDIR"
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() {
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 [ -e $TEMPDIR_SENTINEL ]; then
+ if [ -d $TEMPRUNDIR ]; then
fi
done
cd $(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
fi
done
cd $(mktemp -dp "$TMPDIR" mutt.XXXXXXXXXX)
- touch $TEMPDIR_SENTINEL
stdout="${2:-}"
stderr="${3:-}"
for i in stdout stderr; do
stdout="${2:-}"
stderr="${3:-}"
for i in stdout stderr; do
- if eval test -s output.$i; then
- anything=1
- escaped=$(eval sed -e 's,\",\\\",g' output.$i)
+ if eval test -s $TEMPRUNDIR/output.$i; then
+ escaped=$(eval sed -e 's,\",\\\",g' $TEMPRUNDIR/output.$i)
output="${output:+$output
}${i}:
$escaped"
output="${output:+$output
}${i}:
$escaped"
- [ -e $TEMPDIR_SENTINEL ] || return
+ [ -d $TEMPRUNDIR ] || return
local stdout stderr anything
for i in stdout stderr; do
local stdout stderr anything
for i in stdout stderr; do
- if [ -s "output.$i" ]; then
- eval $i="'output.$i'"
+ if [ -s "$TEMPRUNDIR/ output.$i" ]; then
+ eval $i="'$TEMPRUNDIR/ output.$i'"
else
eval $i=/dev/null
fi
else
eval $i=/dev/null
fi
local filename; filename="$1"
if [ -z "$VIEWER" ]; then
[ -n "${2:-}" ] && filename="${2}:${1}"
local filename; filename="$1"
if [ -z "$VIEWER" ]; then
[ -n "${2:-}" ] && filename="${2}:${1}"
- run-mailcap "$filename" > output.stdout 2> output.stderr
+ run-mailcap "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/ output.stderr
- $VIEWER "$filename" > output.stdout 2> output.stderr
+ $VIEWER "$filename" > $TEMPRUNDIR/output.stdout 2> $TEMPRUNDIR/ output.stderr
while [ $(($(stat -c%X "$FILE") + $DELAY)) -gt $(date +%s) ]; do
sleep $DELAY
done
while [ $(($(stat -c%X "$FILE") + $DELAY)) -gt $(date +%s) ]; do
sleep $DELAY
done
- echo Cleaning up $TMPDIR… > $TMPDIR/output.stderr
cleanup
) &
trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
cleanup
) &
trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15