Sync 'minimal' branch with 'master'.

This commit is contained in:
Darren 'Tadgy' Austin 2022-09-12 10:32:35 +01:00
commit 44ad23f4f0
37 changed files with 559 additions and 380 deletions

View file

@ -8,13 +8,14 @@ export LC_COLLATE="POSIX" # 'C' causes issues with some applications
# export LC_CTYPE="POSIX" # Not sure why I set this in the first place...
export LESS="-RM -j.5 -i -PM?f%F:stdin. -- Page %dt of %D -- %lt/%L (%Pt\%)$"
export PAGER="less"
export PATH="/usr/local/sbin:/usr/sbin:/opt/sbin:/sbin:$PATH"
export PATH="/opt/sbin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"
export VISUAL="$EDITOR"
[[ -x /usr/bin/lesspipe ]] && eval "$(SHELL=/bin/sh lesspipe)"
hash lesspipe >/dev/null 2>&1 && eval "$(SHELL=/bin/sh lesspipe)"
# Platform specific set up.
PLATFORM="$(uname -s)"
if [[ "$PLATFORM" = "Linux" ]]; then
export GPG_TTY="$(tty)" && gpg-connect-agent updatestartuptty /bye >/dev/null 2>&1
export I_WANT_A_BROKEN_PS=1
export LYNX_CFG="$HOME/.lynx.cfg"
export LYNX_LSS="$HOME/.lynx.lss"
@ -32,19 +33,20 @@ fi
unset PLATFORM
# Add bin directories to PATH.
[[ -d "$HOME/files/bin" ]] && export PATH="$HOME/files/bin:$PATH"
[[ -d "$HOME/.local/bin" ]] && export PATH="$HOME/.local/bin:$PATH"
[[ -d "$HOME/bin" ]] && export PATH="$HOME/bin:$PATH"
[[ -d "$HOME/files/bin" ]] && export PATH="$HOME/files/bin:$PATH"
# Screen.
hash screen >/dev/null 2>&1 && {
[[ -e "$HOME/.screenrc-${HOSTNAME%%.*}" ]] && export SCREENRC="$HOME/.screenrc-${HOSTNAME%%.*}"
export SCREENDIR="$HOME/.screen-${HOSTNAME%%.*}"
if [[ -n "$SSH_TTY" ]]; then
if [[ -n "$STY" ]]; then
echo "Screen $STY, window $WINDOW."
echo
else
SCREENS="$(screen -ls | grep '[[:alpha:]]' | egrep -v '^([[:digit:]]+|No) Socket(s)?')"
SCREENS="$(screen -ls | grep '[[:alpha:]]' | grep -E -v '^([[:digit:]]+|No) Socket(s)?')"
if [[ -n "$SCREENS" ]]; then
echo "$SCREENS"
echo
@ -59,11 +61,11 @@ hash screen >/dev/null 2>&1 && {
echo
else
TTY="$(tty | cut -d/ -f3-)"
SCREENS="$(screen -list | fgrep "${HOSTNAME%%.*}" | fgrep "${TTY//\//-}")"
case "$(echo "${SCREENS:--n}" | wc -l)" in
SCREENS="$(screen -list | grep -F "${HOSTNAME%%.*}" | grep -F "${TTY//\//-}")"
case "$(echo ${SCREENS:--n} | wc -l)" in
0)
# No screens found - start a new instance, if on a tty.
[[ "$TTY" == *tty* ]] && screen
[[ "$TTY" == *tty* ]] && sleep 1 && screen
;;
1)
# Just one screen - reconnect if it's not dead.
@ -71,6 +73,7 @@ hash screen >/dev/null 2>&1 && {
echo "Found dead screen for $TTY:"
echo "$SCREENS" | sed -e 's/^/ /g'
else
sleep 1
screen -dr "${TTY//\//-}.${HOSTNAME%%.*}"
fi
;;
@ -83,19 +86,3 @@ hash screen >/dev/null 2>&1 && {
unset SCREENS
fi
}
# Mail check.
[[ ! -z "$SSH_CONNECTION" ]] && {
if [[ -s /var/spool/mail/$USER ]]; then
if [[ -N /var/spool/mail/$USER ]]; then
echo "You have new mail."
echo
else
echo "You have mail."
echo
fi
# else
# echo "No mail."
# echo
fi
}