Compare commits

...

2 Commits

2 changed files with 43 additions and 13 deletions

28
dotlib/cattle.sh Normal file
View File

@ -0,0 +1,28 @@
reset-elapsed() {
(( last_cmd_at = SECONDS ))
}
ping-timer() {
kill -USR1 "$reaper_pid" 2>/dev/null
}
kill-reaper() {
kill -KILL "$reaper_pid"
}
{
trap reset-elapsed USR1
last_cmd_at=0
while sleep 1; do
(( elapsed = SECONDS - last_cmd_at ))
if (( elapsed > 600 )); then
kill -KILL "$$"
exit
fi
done
} &
reaper_pid=$! prompt_cmds+=(ping-timer)
trap kill-reaper EXIT

View File

@ -7,7 +7,7 @@ if (( 10#$month == 3 && 10#$day < 18 )); then
printf "Only %d days left until Saint Patrick's day!\n" "$(( 17 - 10#$day ))" printf "Only %d days left until Saint Patrick's day!\n" "$(( 17 - 10#$day ))"
fi fi
holiday=🍀 prompt_sym=🍀
elif (( 10#$month == 10 )); then elif (( 10#$month == 10 )); then
if (( 31 - 10#$day == 0 )); then if (( 31 - 10#$day == 0 )); then
printf 'Have a spooky halloween!\n' printf 'Have a spooky halloween!\n'
@ -15,7 +15,7 @@ elif (( 10#$month == 10 )); then
printf 'Only %d days left until Halloween!\n' "$(( 31 - 10#$day ))" printf 'Only %d days left until Halloween!\n' "$(( 31 - 10#$day ))"
fi fi
holiday=🎃 prompt_sym=🎃
elif (( 10#$month == 12 && 10#$day < 26 )); then elif (( 10#$month == 12 && 10#$day < 26 )); then
if (( 25 - 10#$day == 0 )); then if (( 25 - 10#$day == 0 )); then
printf 'Merry Christmas!\n' printf 'Merry Christmas!\n'
@ -23,28 +23,30 @@ elif (( 10#$month == 12 && 10#$day < 26 )); then
printf 'Only %d days left until Christmas!\n' "$(( 25 - 10#$day ))" printf 'Only %d days left until Christmas!\n' "$(( 25 - 10#$day ))"
fi fi
holiday=🌲 prompt_sym=🌲
fi fi
setup-prompt() { setup-prompt() {
tput sgr0 local cmd
if [[ -v prompt_cmds[@] ]]; then
for cmd in "${prompt_cmds[@]}"; do
"$cmd"
done
fi
if [[ -d .git ]]; then if [[ -d .git ]]; then
git_branch=" $(command git branch --show-current)" git_branch="$(command git branch --show-current) "
else else
git_branch= git_branch=""
fi fi
} }
PROMPT_COMMAND=setup-prompt PROMPT_COMMAND=setup-prompt
PS1='\w$git_branch' PS1='\w $git_branch'
if [[ -v SSH_CLIENT ]]; then if [[ -v SSH_CLIENT ]]; then
if [[ -v HOSTNAME ]]; then PS1+='${HOSTNAME-"$(hostname)"} '
PS1+=' $HOSTNAME'
else
PS1+=' $(hostname)'
fi
fi fi
PS1+=' ${holiday-λ} ' PS1+='${prompt_sym-λ} '