PS1 overhaul.
[profile.git] / .profile.d / prompt.bashrc
1 # Set the title of an xterm to the hostname.
2 #
3
4 SSH_FORWARDED=$(get_remote_ip -n)
5 if [ ! -z "$SSH_FORWARDED" ]; then
6   if [ ! "$SSH_FORWARDED" = "62.189.242.202" -a ! "$SSH_FORWARDED" = "62.189.241.202" -a ! "$SSH_FORWARDED" = "193.128.72.68" -a ! "$SSH_FORWARDED" = "localhost" ]; then
7     SSH_FORWARDED=" (from $SSH_FORWARDED)"
8   else
9     SSH_FORWARDED=
10   fi
11 fi
12
13 # Unscientific check for grid jobs.
14 case ${SSH_CLIENT##* } in
15   ""|22|2222);;
16   *) SSH_FORWARDED="$SSH_FORWARDED [grid]"
17 esac
18
19 info="$HOSTNAME$SSH_FORWARDED"
20
21 # Check for vim.
22 vimchild=" [vim]"
23 if ps -o comm= -p $PPID 2>/dev/null | grep '^vim*$' &>/dev/null; then
24   # Clear [vim] when exiting.
25   trap "echo -ne '\\033]0;$info\\033\\0134'" exit
26   info="$info$vimchild"
27 fi
28 if [ "${TERM##screen}" = "$TERM" ]; then
29   export PROMPT_COMMAND="echo -ne '\033]0;$info\033\0134\r\033[K'"
30 else
31   export PROMPT_COMMAND='echo -ne "\033k\033\0134"'
32 fi
33 unset blank info vimchild SSH_FORWARDED
34
35 # Actual dtterm barfs on escape sequences.
36 if [ "$TERMINAL_EMULATOR" = "dtterm" ]; then
37   unset PROMPT_COMMAND
38 fi