Well, since everyone already seems to know David Pashley's solution I'm kind of surprised it took me so long to find this one because it's almost as old.
This solution actually takes care of bash-completion spamming garbage.
To be clear: I did nothing on my own here but research. All credit goes to Marius Gedminas.
This works perfectly for me with Gnome-Terminal/Terminator
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
# Show the currently running command in the terminal title:
# http://www.davidpashley.com/articles/xterm-titles-with-bash.html
show_command_in_title_bar()
{
case "$BASH_COMMAND" in
*\033]0*)
# The command is trying to set the title bar as well;
# this is most likely the execution of $PROMPT_COMMAND.
# In any case nested escapes confuse the terminal, so don't
# output them.
;;
*)
echo -ne "\033]0;${USER}@${HOSTNAME}: ${BASH_COMMAND}\007"
;;
esac
}
trap show_command_in_title_bar DEBUG
;;
*)
;;
esac
Also this is a cross-post because I just found out about it and wanted to share and I think it's useful here as well.