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.