# Set the title of an xterm to the hostname unless the remote IP is matched by # a regular expression in ~/.ssh/forwarded. SSH_FORWARDED=$(get_remote_ip) if [ ! -z "$SSH_FORWARDED" ]; then if [ "$SSH_FORWARDED" = "localhost" ]; then SSH_FORWARDED= elif [ -f ${PROFILE_HOME:-~}/.ssh/forwarded ]; then for forwarded in $(< ${PROFILE_HOME:-~}/.ssh/forwarded); do if echo "$SSH_FORWARDED" | grep "$forwarded" &>/dev/null; then SSH_FORWARDED= fi done unset forwarded fi [ ! -z "$SSH_FORWARDED" ] && SSH_FORWARDED=" (from $(get_remote_ip -n))" fi # Unscientific check for grid jobs. case ${SSH_CLIENT##* } in ""|22|2222);; *) SSH_FORWARDED="$SSH_FORWARDED [grid]" esac info="$HOSTNAME$SSH_FORWARDED" # Check for vim. vimchild=" [vim]" if ps -o comm= -p $PPID 2>/dev/null | grep '^vim*$' &>/dev/null; then # Clear [vim] when exiting. trap "echo -ne '\\033]0;$info\\033\\0134'" exit info="$info$vimchild" fi if [ "${TERM##screen}" = "$TERM" -o "${TERM%%-bce}" = "$TERM" ]; then PROMPT_COMMAND="echo -ne '\033]0;$info\033\0134\r\033[K'" else PROMPT_COMMAND='echo -ne "\033k\033\0134"' fi unset blank info vimchild SSH_FORWARDED # Actual dtterm barfs on escape sequences. if [ "$TERMINAL_EMULATOR" = "dtterm" ]; then unset PROMPT_COMMAND fi # As does screen on an ancient Solaris host. if [ -n "$OLDSOLARIS" -a ! "${TERM##screen}" = "$TERM" ]; then unset PROMPT_COMMAND fi