iankelling.org
/
git
/
distro-setup
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
minor improvements
[distro-setup]
/
prof-tail
diff --git
a/prof-tail
b/prof-tail
index 7028ae722d64a2e34b63a4522bad2aac9a3f8f4f..d605d370ca0b865144d81329d89257a259ed69c0 100644
(file)
--- a/
prof-tail
+++ b/
prof-tail
@@
-1,6
+1,10
@@
#!/bin/bash
#!/bin/bash
-set -e; . /usr/local/lib/
er
r; set +e
+set -e; . /usr/local/lib/
bash-bea
r; set +e
+# kill 0 doesn't seem to be documented in man bash, but it kills the
+# background processes.
+# https://unix.stackexchange.com/questions/67532/what-does-kill-0-do-actually/67552
+trap "kill 0" EXIT
xmpp_users=(
anoukr
xmpp_users=(
anoukr
@@
-18,6
+22,11
@@
xmpp_users=(
jtuttle
)
jtuttle
)
+# start emacs daemon for profanity if it doesnt exist.
+if ! pgrep -f '^emacs --daemon=profanity$' &>/dev/null; then
+ emacs --daemon=profanity &>/dev/null
+fi
+
while true; do
midnight=$(date -d '00:00:00 tomorrow' +%s)
while true; do
midnight=$(date -d '00:00:00 tomorrow' +%s)
@@
-25,14
+34,17
@@
while true; do
log_today=$(date '+%Y_%m_%d').log
logdir=/home/iank/.local/share/profanity/chatlogs/iank_at_fsf.org
log_today=$(date '+%Y_%m_%d').log
logdir=/home/iank/.local/share/profanity/chatlogs/iank_at_fsf.org
+ # when this fails, it has PIPESTATUS: 124 0 1 0 0, which seems to end up with 1 as the overall code, which is not what
+ # i expected. todo: investigate if and why that is, and narrow the ||:
+ # shellcheck disable=SC2046 # intentional
timeout --foreground $secs_till_midnight tail -n0 -qF \
$(for u in ${xmpp_users[@]}; do echo $logdir/${u}_at_fsf.org/$log_today; done) 2>/dev/null \
timeout --foreground $secs_till_midnight tail -n0 -qF \
$(for u in ${xmpp_users[@]}; do echo $logdir/${u}_at_fsf.org/$log_today; done) 2>/dev/null \
- | awk '$3 != "me:" {print $3; fflush()}' | sed -u 's/^/pm /;s/@.*//' ||
[[ $? == 124 ]]
&
+ | awk '$3 != "me:" {print $3; fflush()}' | sed -u 's/^/pm /;s/@.*//' ||
:
&
timeout --foreground $secs_till_midnight tail -n0 -qF \
$logdir/rooms/*/$log_today 2>/dev/null \
timeout --foreground $secs_till_midnight tail -n0 -qF \
$logdir/rooms/*/$log_today 2>/dev/null \
- | awk '$3 != "iank:"' | grep -i '\biank\b' | awk '{print $3; fflush()}' | sed 's/^/room /;s/@.*//' ||
[[ $? == 124 ]]
+ | awk '$3 != "iank:"' | grep -i '\biank\b' | awk '{print $3; fflush()}' | sed 's/^/room /;s/@.*//' ||
:
+ kill %
sleep 1
sleep 1
-
done
done