MinTTY es la nueva consola predeterminada para Cygwin.
¿Qué es un comando de shell (algo que puedo poner en .bashrc, o incluso mejor, en .zshrc) para cambiar el título de la ventana MinTTY?
Me gustaría que el título de la ventana sea la ruta al directorio actual y que se actualice mientras cambio de directorio dentro de la consola.
$PS1
) ya contiene una secuencia de control que establece el título de la ventana en user @ machine: working_directory.-T <title>
en las propiedades de acceso directo de Windows. Ver también elmintty man page
.Respuestas:
Qué está mal
El siguiente comando no funcionaba para mí:
Resulta que mi instalación predeterminada de Cygwin incluye la siguiente definición de solicitud en .bashrc:
Tenga en cuenta que la primera parte de la solicitud (
\e]0;\w\a
) es configurar el título de Windows cada vez que aparece la solicitud.La solución
Agregue estas líneas en su
.bashrc
que definen 2 funciones:Luego puede establecer un título personalizado con este comando:
o puede volver al valor predeterminado de cygwin (la ruta actual) con este comando:
Espero que esto ayude
fuente
source ~/.bashrc
; de lo contrario, cygwin seguirá ejecutando la versión anterior de bashrc que estaba en el disco cuando se inició cygwin. - probado enCygwin version 2.8.1 (64 bit)
- una versión 2017Puede cambiarlo con la secuencia de control xterm para esto, así:
Consulte: http://code.google.com/p/mintty/issues/detail?id=241
fuente
Coloque esto en .zshrc:
La secuencia de caracteres especiales en la función settitle hace que MinTTY cambie el título de la ventana.
En zsh , si define una función con el nombre especial chpwd, se invocará después de cada chdir .
Funciona en WinXP, con Cygwin 1.7 y MinTTY ejecutando zsh.
fuente
settitle "$(pwd)@$HOST"
En bash, la variable PROMPT_COMMAND se puede configurar para contener una serie de comandos, separados por punto y coma. puede usar eso para hacer la misma configuración de título como se describe en la otra respuesta que habla sobre zsh.
fuente
fuente
Utilicé la respuesta de Leonel, pero descubrí que el título solo parpadearía al hacer esto, lo que significa que al menos el comando echo funciona según lo previsto. Ejecuté zsh interactivamente con el modo de depuración habilitado usando
Cambiar el directorio evidentemente invoca otra función llamada
title()
despuésprecmd()
ychpwd()
, anulando efectivamente. Así que conecté esto a mi .zshrc y funcionó.Si usted prefiere usar
chpwd()
oprecmd()
en su lugar, sólo tiene que desactivar la función de título:title(){}
.fuente
Solo quería compartir mi solución a esto, ya que uso mintty para ejecutar un script.
Mi acceso directo mintty está configurado como:
El script connect.sh que escribí, que se llama en el acceso directo anterior, me solicitará el servidor al que quiero conectarme y ejecutar la función settitle definida en el script.
connect.sh
fuente
title
si no la usa?intente agregar esto a .bash_profile
export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD/#$HOME/~}\007"'
Esto funciona para mi.
fuente