I want to change the title of the gnome-terminal window to reflect the current directory. Is there a way to do that? A script may be? The \"change terminal title\" threads did n
I'm doing it like this to override the cd
command and set pwd
into the title:
function title { echo -en "\033]2;$1\007"; }
function cd { dir=$1; if [ -z "$dir" ]; then dir=~; fi; builtin cd "$dir" && title `pwd`; }
cd `pwd`
I just threw this into my ~/.bash_aliases
. You could probably tweak this to do what you want.
Updated Answer For White Space Problem by 'basename'
PROMPT_COMMAND='echo -ne "\033]0;$(basename "$(pwd)")\007"'
Upadate for answered Oct 23 '13 at 1:47 user2909452
I'm not an expert but you should try to edit your ~/.bashrc file. If I understood your problem correctly you can change your .bashrc according to my (I'm using Ubuntu 12.04). The "old" line is commented out and the new one is below it (with additional comment).
case "$TERM" in
xterm*|rxvt*)
# OLD PS1 directive
#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
# NEW PS1 directive, shows only current directory name as terminal window name
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\W\a\]$PS1"
;;
*)
;;
esac
The result is that my terminal title is equal to my current directory title eg.
after cd Documents/projects
my terminal title is projects
(if file is open the terminal name is its name)
since gnome-terminal uses the same control commands as xterm this page might be helpful.
Xterm Title for bash and other shells
TL;DR:
add following to your .bashrc
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
PROMPT_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"'
will display only the current directory as the title