I often start a terminal session to servers from different tabs of my terminal. I would like to create a function that before starting the session it changes the title of the tab so that I can easily recognize which tab has which session open.
Let's pretend here that my session is an ssh session. When I type in terminal
fn myserver
where fn is a function defined in ~/.bashrc:
function fn() {
set-title "$1"
ssh $1
}
function set-title() {
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$*\a\]"
PS1=${ORIG}${TITLE}
}
the terminal starts the session and the title for the tab is changed ONLY AFTER the ssh session ends. I guess that this come because the session is open in the fn function, and only when the function returns is PS1 actualized. How to change the title/update the PS1 variable BEFORE the session begins?