# Don't fork me, source me instead function set_term_title() { local cmdname [[ "$BASH_COMMAND" == "$PROMPT_COMMAND" ]] && return; echo -ne "\e]0;" > /dev/tty cmdname=${BASH_COMMAND// *} echo -nE "${cmdname##*/}: ${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}" > /dev/tty; echo -ne "\007" > /dev/tty; } if [[ ! $TERM =~ screen|dumb ]]; then # set +o functrace trap 'set_term_title' DEBUG PROMPT_COMMAND='echo -ne "\e]0;${SHELL##*/}($?): ${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"' fi