set-title ??
Je viens de découvrir une astuce que j'utilise pour changer un titre bash-terminal sur le terminal. Voici comment cela fonctionne:
#function set-title() on terminal
function set-title() {
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$*\a\]"
PS1=${ORIG}${TITLE}
}
J'écris ce code dans ~/.bashrc
. Je peux donc changer le titre, et je n'ai pas confondu pour quel terminal j'utilise.
PRE PROBLÈME
Je veux personnaliser bash
vim
et leur ami avec le nouveau look alors j'utilise ce type guide pour installer Powerline et cela fonctionne parfaitement.
Problème [~ # ~] [~ # ~]
Ma set title
la fonction ne fonctionne pas maintenant.
CE QUE J'ESSAYE
Placez le code du titre en haut de .bashrc
ne fonctionne pas. (Je sais que cette façon est stupide)
Écrivez ça set-title
sur usr/share/powerline/bindings/bash/powerline.sh
ne fonctionne pas, je pense que le code est différent de .bashrc
Alors, comment obtenir mon set-title
fonction de retour?
Votre méthode ("\[\e]2;$*\a\]"
) (les sorties Esc];Your title^G(Bel)). Il s'agit d'une "séquence ESCape VT100" qui n'est pas correctement gérée par TOUS les émulateurs de terminal. Comparer echo $TERM
dans les deux environnements.
Pour une approche plus portable, installez et utilisez xttitle - Changes X terminal emulator window titles
. Je l'ai intégré à mon ~/.bashrc
(la commande cd
ajuste le titre):
# from the "xttitle(1)" man page - put info in window title
update_title()
{
[[ $TERM = xterm ]] || [[ $TERM = xterm-color ]] && xttitle "[$$] ${USER}@${HOSTNAME}:$PWD"
}
cd()
{
[[ -z "$*" ]] && builtin cd $HOME
[[ -n "$*" ]] && builtin cd "$*"
update_title
}