If you’re using tmux as a terminal multiplexer and keeping one window open per host, you might be manually renaming each window to feature the relevant hostname. This is a little annoying to do if you’re dealing with a lot of hosts, so it’s worthwhile to automate it.
In the tmux manual, the following escape code incantation is given to update the window title from within the terminal:
$ printf '\033kWINDOW_NAME\033\\'
In much the same way that you can update the title of an xterm
-compatible
terminal emulator with control codes as part of the $PS1
variable defining
the prompt, you can update the title of a tmux window to the current hostname
(or any other relevant text) automatically by prefixing this call to the
$PROMPT_COMMAND
. This is best done in your .bashrc
. The below code assumes
you are using either screen
or screen-256color
as your $TERM
string in
your .tmux.conf
:
case "$TERM" in
screen*)
PROMPT_COMMAND="printf '\033k$(hostname)\033\\';"${PROMPT_COMMAND}
;;
esac
After logging out and in again, this will update the title of the window to the hostname of the current machine just before the prompt is presented, saving you the trouble of updating the window title if like myself you never use it for anything besides the machine’s hostname.