Page suivante Page précédente Table des matières

5. Afficher le nom de la commande en cours d'exécution

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.

5.1 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.

5.2 Autres shells

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.


Page suivante Page précédente Table des matières