Depende de como as coisas estão configuradas, mas, por padrão, algo assim deve funcionar.
settitle() {
printf "3k$13\"
}
Em seguida, execute:
settitle NEWTITLE
.
Veja documentos de títulos de tela e Tela do GNU para mais detalhes.
Dado Ctrl + Um A está apenas mudando até o próximo comando, provavelmente está sendo definido por $PS1
(todos os shells) ou $PROMPT_COMMAND
/ DEBUG trap
(somente bash) ou precmd
/ preexec
(somente zsh).
Você deve procurar por qualquer lugar que \e
ou 3
apareça com k
ou \
depois, basicamente como meu settitle
acima.
UPDATE
Você disse que tinha um personalizado preexec
.
Por que não mudar isso:
if [[ "$TERM" == "screen" ]]; then
local CMD=${1[(wr)^(*=*|sudo|-*)]}
echo -n "\ek${TITLE:-$CMD}\e\"
fi
Você pode definir um título personalizado executando:
TITLE="my title"
e desmarque o título executando
TITLE=
Não se esqueça de alterar precmd
e $PS1
, se necessário.
ASIDE
Você pode estender isso para todos os terminais (por exemplo, xterm
, gnome-terminal
, etc.) por não codificar permanentemente o \ek
e \e\
.
É assim que eu faço:
terminit()
{
# determine the window title escape sequences
case "$TERM" in
aixterm|dtterm|putty|rxvt|xterm*)
titlestart='3]0;'
titlefinish='if [[ "$TERM" == "screen" ]]; then
local CMD=${1[(wr)^(*=*|sudo|-*)]}
settitle "${TITLE:-$CMD}"
fi
7'
;;
cygwin)
titlestart='3];'
titlefinish='settitle() {
printf "3k$13\"
}
7'
;;
konsole)
titlestart='3]30;'
titlefinish='if [[ "$TERM" == "screen" ]]; then
local CMD=${1[(wr)^(*=*|sudo|-*)]}
echo -n "\ek${TITLE:-$CMD}\e\"
fi
7'
;;
screen*)
# status line
#titlestart='3_'
#titlefinish='3\'
# window title
titlestart='3k'
titlefinish='3\'
;;
*)
if type tput >/dev/null 2>&1
then
if tput longname >/dev/null 2>&1
then
titlestart="$(tput tsl)"
titlefinish="$(tput fsl)"
fi
else
titlestart=''
titlefinish=''
fi
;;
esac
}
# or put it inside a case $- in *i* guard
if test -t 0; then
terminit
fi
# set the xterm/screen/etc. title
settitle()
{
test -z "${titlestart}" && return 0
printf "${titlestart}$*${titlefinish}"
}
Em seguida, você pode alterar seu preexec
para:
TITLE="my title"