Souvent un utilisateur lance une longue commande en avant plan telle que
top
, un éditeur, un lecteur de courrier électronique, etc, et
voudrait que le nom de cette commande figure dans le titre de la fenêtre.
C'est un problème délicat qui n'est facile à résoudre qu'avec zsh
.
zsh
offre une fonction idéale pour cet objectif :
preexec() fonction exécutée juste avant qu'une commande soit exécutée
$*,$1,... arguments passés à preexec()
On peut donc insérer le nom de la commande de la manière suivante :
case $TERM in
xterm*)
preexec () {
print -Pn "\e]0;$*\a"
}
;;
esac
Note: la fonction preexec()
est apparue vers la version 3.1.2 de
zsh
, vous devrez peut-être mettre à jour votre ancienne version.
Ce n'est pas facile avec les autres shells qui n'ont pas l'équivalent de la
fonction preexec()
. Si quelqu'un a des exemples, merci de les
communiquer par email à l'auteur.