From 84871deb0ac09dd34872a8af31385c6997a387f6 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Thu, 25 Aug 2016 23:26:58 +1200 Subject: Combine welcome messages into one script --- sh/profile.d/fortune.sh | 23 --------------------- sh/profile.d/remind.sh | 19 ----------------- sh/profile.d/verse.sh | 27 ------------------------- sh/profile.d/welcome.sh | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 69 deletions(-) delete mode 100644 sh/profile.d/fortune.sh delete mode 100644 sh/profile.d/remind.sh delete mode 100644 sh/profile.d/verse.sh create mode 100644 sh/profile.d/welcome.sh (limited to 'sh') diff --git a/sh/profile.d/fortune.sh b/sh/profile.d/fortune.sh deleted file mode 100644 index d7f1d202..00000000 --- a/sh/profile.d/fortune.sh +++ /dev/null @@ -1,23 +0,0 @@ -# Only if shell is interactive -case $- in - *i*) ;; - *) return ;; -esac - -# Only if not in a tmux window -[ -z "$TMUX" ] || return - -# Only if ~/.welcome/fortune exists and ~/.hushlogin doesn't -[ -e "$HOME"/.welcome/fortune ] || return -! [ -e "$HOME"/.hushlogin ] || return - -# Only if fortune(6) available -command -v fortune >/dev/null 2>&1 || return - -# Print from subshell to keep namespace clean -( - [ -d "$HOME"/.local/share/games/fortunes ] && - : "${FORTUNE_PATH:="$HOME"/.local/share/games/fortunes}" - fortune -s "$FORTUNE_PATH" - printf '\n' -) diff --git a/sh/profile.d/remind.sh b/sh/profile.d/remind.sh deleted file mode 100644 index 3ef0f353..00000000 --- a/sh/profile.d/remind.sh +++ /dev/null @@ -1,19 +0,0 @@ -# Only if shell is interactive -case $- in - *i*) ;; - *) return ;; -esac - -# Only if not in a tmux window -[ -z "$TMUX" ] || return - -# Only if ~/.welcome/remind exists and ~/.hushlogin doesn't -[ -e "$HOME"/.welcome/remind ] || return -! [ -e "$HOME"/.hushlogin ] || return - -# Only if rem(1) available -command -v rem >/dev/null 2>&1 || return - -# Print reminders with asterisks -rem -hq | sed 's/^/* /' -printf '\n' diff --git a/sh/profile.d/verse.sh b/sh/profile.d/verse.sh deleted file mode 100644 index 303a1b05..00000000 --- a/sh/profile.d/verse.sh +++ /dev/null @@ -1,27 +0,0 @@ -# Only if shell is interactive -case $- in - *i*) ;; - *) return ;; -esac - -# Only if not in a tmux window on this machine -[ -z "$TMUX" ] || return - -# Only if ~/.welcome/verse exists and ~/.hushlogin doesn't -[ -e "$HOME"/.welcome/verse ] || return -! [ -e "$HOME"/.hushlogin ] || return - -# Only if verse(1) available -command -v verse >/dev/null 2>&1 || return - -# Run verse(1) if we haven't seen it already today (the verses are selected by -# date); run in a subshell to keep vars out of global namespace -( - now=$(date +%Y%m%d) - last=0 - [ -f "$HOME"/.verse ] && last=$(cat -- "$HOME"/.verse) - [ "$now" -gt "$last" ] || exit - verse - printf '\n' - printf '%s\n' "$now" > "$HOME"/.verse -) diff --git a/sh/profile.d/welcome.sh b/sh/profile.d/welcome.sh new file mode 100644 index 00000000..26bf678f --- /dev/null +++ b/sh/profile.d/welcome.sh @@ -0,0 +1,54 @@ +# Only if shell is interactive +case $- in + *i*) ;; + *) return ;; +esac + +# Only if not in a tmux window +[ -z "$TMUX" ] || return + +# Not if ~/.hushlogin exists +[ -e "$HOME"/.hushlogin ] && return + +( + # Only if ~/.welcome/fortune exists + [ -e "$HOME"/.welcome/fortune ] || exit + + # Only if fortune(6) available + command -v fortune >/dev/null 2>&1 || exit + + # Show a fortune + [ -d "$HOME"/.local/share/games/fortunes ] && + : "${FORTUNE_PATH:="$HOME"/.local/share/games/fortunes}" + fortune -s "$FORTUNE_PATH" + printf '\n' +) +( + # Only if ~/.welcome/remind exists + [ -e "$HOME"/.welcome/remind ] || exit + + # Only if rem(1) available + command -v rem >/dev/null 2>&1 || exit + + # Print reminders with asterisks + rem -hq | sed 's/^/* /' + printf '\n' +) +( + # Only if ~/.welcome/remind verse + [ -e "$HOME"/.welcome/verse ] || exit + + # Only if verse(1) available + command -v verse >/dev/null 2>&1 || exit + + # Run verse(1) if we haven't seen it already today (the verses are selected + # by date); run in a subshell to keep vars out of global namespace + now=$(date +%Y%m%d) + last=0 + [ -f "$HOME"/.verse ] && + last=$(cat -- "$HOME"/.verse) + [ "$now" -gt "$last" ] || exit + verse + printf '\n' + printf '%s\n' "$now" > "$HOME"/.verse +) -- cgit v1.2.3