Condense term function

This commit is contained in:
Dylan Araps 2016-05-28 11:38:41 +10:00
parent a7f7218b24
commit 37e7d8e4b3
1 changed files with 32 additions and 31 deletions

View File

@ -1739,39 +1739,40 @@ getfont () {
# Terminal Emulator {{{
getterm () {
# Workaround for OS X systems that
# don't support the block below.
case "$TERM_PROGRAM" in
"iTerm.app") term="iTerm2" ;;
"Terminal.app") term="Apple Terminal" ;;
*) term="${TERM_PROGRAM/\.app}" ;;
# Check $PPID for terminal emulator.
case "$os" in
"Mac OS X")
# Workaround for OS X systems that
# don't support the block below.
case "$TERM_PROGRAM" in
"iTerm.app") term="iTerm2" ;;
"Terminal.app") term="Apple Terminal" ;;
*) term="${TERM_PROGRAM/\.app}" ;;
esac
return
;;
"Windows")
parent="$(ps -p ${1:-$PPID} | awk '{printf $2}')"
parent=${parent/'PPID'}
name="$(ps -p $parent | awk '{printf $8}')"
name=${name/'COMMAND'}
name=${name/*\/}
;;
*)
parent="$(ps -p ${1:-$PPID} -o ppid=)"
name="$(ps -p $parent -o comm=)"
;;
esac
# Check $PPID for terminal emulator.
if [ -z "$term" ]; then
case "$os" in
"Windows")
parent="$(ps -p ${1:-$PPID} | awk '{printf $2}')"
parent=${parent/'PPID'}
name="$(ps -p $parent | awk '{printf $8}')"
name=${name/'COMMAND'}
name=${name/*\/}
;;
*)
parent="$(ps -p ${1:-$PPID} -o ppid=)"
name="$(ps -p $parent -o comm=)"
;;
esac
case "${name// }" in
"${SHELL/*\/}" | *"sh" | "tmux" | "screen") getterm "$parent" ;;
"login" | "init") term="$(tty)"; term=${term/*\/} ;;
"ruby" | "1" | "systemd" | "sshd") unset term ;;
*) term="$name" ;;
esac
fi
case "${name// }" in
"${SHELL/*\/}" | *"sh" | "tmux" | "screen") getterm "$parent" ;;
"login" | "init") term="$(tty)"; term=${term/*\/} ;;
"ruby" | "1" | "systemd" | "sshd") unset term ;;
*) term="$name" ;;
esac
}
# }}}