MinTTY est la nouvelle console par défaut pour Cygwin.
Qu'est-ce qu'une commande shell (quelque chose que je peux mettre dans .bashrc, ou encore mieux, dans .zshrc) pour changer le titre de la fenêtre MinTTY?
Je voudrais que le titre de la fenêtre soit le chemin d'accès au répertoire actuel et qu'il soit mis à jour lorsque je change de répertoire à l'intérieur de la console.
$PS1
) contient déjà une séquence de contrôle qui définit le titre de la fenêtre sur user @ machine: working_directory.-T <title>
dans les propriétés du raccourci Windows. Voir aussi lemintty man page
.Réponses:
Qu'est-ce qui ne va pas
La commande suivante ne fonctionnait pas pour moi:
Il s'avère que mon installation par défaut de Cygwin inclut la définition d'invite suivante dans .bashrc:
Notez que la première partie de l'invite (
\e]0;\w\a
) définit le titre de Windows chaque fois que l'invite s'affiche.La solution
Ajoutez ces lignes dans votre
.bashrc
qui définissent 2 fonctions:Ensuite, vous pouvez définir un titre personnalisé avec cette commande:
ou vous pouvez revenir à la valeur par défaut de cygwin (le chemin actuel) avec cette commande:
J'espère que cela t'aides
la source
source ~/.bashrc
- sinon cygwin exécutera toujours l'ancienne version de bashrc qui était sur le disque au démarrage de cygwin. - testé surCygwin version 2.8.1 (64 bit)
- une version 2017Vous pouvez le changer avec la séquence de contrôle xterm pour cela, comme ceci:
Reportez-vous à: http://code.google.com/p/mintty/issues/detail?id=241
la source
Placez ceci dans .zshrc:
La séquence de caractères spéciaux dans le paramètre de fonction fait que MinTTY change le titre de la fenêtre.
Dans zsh , si vous définissez une fonction avec le nom spécial chpwd, elle sera invoquée après chaque chdir .
Fonctionne sur WinXP, avec Cygwin 1.7 et MinTTY exécutant zsh.
la source
settitle "$(pwd)@$HOST"
En bash, la variable PROMPT_COMMAND peut être définie pour contenir un certain nombre de commandes, séparées par des points-virgules. vous pouvez l'utiliser pour faire le même réglage de titre que celui décrit dans l'autre réponse qui parle de zsh.
la source
la source
J'ai utilisé la réponse de Leonel, mais j'ai trouvé que le titre ne scintillait qu'en faisant cela, ce qui signifie au moins que la commande echo fonctionne comme prévu. J'ai exécuté zsh de manière interactive avec le mode de débogage activé à l'aide
Changer le répertoire invoque évidemment une autre fonction appelée
title()
aprèsprecmd()
etchpwd()
, en les remplaçant efficacement. J'ai donc branché cela dans mon .zshrc et cela a fonctionné.Si vous préférez utiliser
chpwd()
ou à laprecmd()
place, il suffit de désactiver la fonction de titre:title(){}
.la source
Je voulais juste partager ma solution à cela car j'utilise mintty pour exécuter un script.
Mon raccourci mintty est configuré comme:
Le script connect.sh que j'ai écrit et qui est appelé dans le raccourci ci-dessus m'invitera pour le serveur auquel je veux me connecter ET exécuter la fonction settitle définie dans le script.
connect.sh
la source
title
si vous ne l'utilisez pas?essayez d'ajouter ceci dans .bash_profile
export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD/#$HOME/~}\007"'
Ça marche pour moi.
la source