update_terminal_cwd desmitificado, por favor?

4

Estoy tratando de encontrar la documentación sobre qué, exactamente, está haciendo el comando printf en update_terminal_cwd .

Si aún no lo sabía, se define la función update_terminal_cwd (al menos en Mac OS X 10.7.4) en /etc/bashrc y en ese mismo archivo, la función se agrega a $PROMPT_COMMAND para que se ejecute cada vez que presione enter en la Terminal.

El texto de la función update_terminal_cwd es el siguiente:

update_terminal_cwd() {
    # Identify the directory using a "file:" scheme URL,
    # including the host name to disambiguate local vs.
    # remote connections. Percent-escape spaces.
local SEARCH=' '
local REPLACE='%20'
local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
printf '\e]7;%s\a' "$PWD_URL"
}

A unos pasos del agujero del conejo, intente configurar los nombres de las pestañas de mi Terminal desde la línea de comandos , que se puede hacer con bastante facilidad , pero el nombre de la pestaña aparece restablece cuando ssh ing en un cuadro.

Esto me llevó a ¿Cómo detener el cambio automático de títulos de iTerm? y el poco claro lista de secuencias de control en Mac .

Si vas a ese último enlace y buscas la cadena osc ps ; pt bel , encontrarás la sección que define el carácter de escape que hace que el cambio de nombre de la pestaña funcione. Sin embargo, mientras eso explica printf '\e]1;%s\a' (note el "1"), no explica lo que hace el "7" en la función update_terminal_cwd que cité anteriormente.

¿Dónde está esto documentado? (¿Y por qué PWD_URL incluye el prefijo file:// ?)

    
pregunta Wildcard 23.12.2015 - 05:38

1 respuesta

3

de Terminal.app v2.6.1 (OS X 10.11), en Preferencias / Perfiles / Ventana, hay un texto resaltado "Secuencia de escape ..." que dice:

  

El directorio de trabajo y la ubicación del documento actual pueden configurarse   utilizando la secuencia de escape del Comando del Sistema Operativo (OSC):

     

ESC] Ps; Pt BEL

     

El parámetro Ps es 6 (documento) o 7 (directorio de trabajo) y   Pt es un "archivo:" URL. La URL debe incluir un nombre de host para desambiguar   Las rutas locales y remotas, y los caracteres deben estar codificados en porcentaje como   apropiado.

     

Cuando tanto el directorio de trabajo como el documento se configuran solo el documento   se muestra.

también, desde Preferencias / Perfiles / Tab:

  

Los títulos de las ventanas y las pestañas se pueden configurar mediante el comando del sistema operativo   (OSC) secuencia de escape:

     

ESC] Ps; Pt BEL

     

El parámetro Ps es 1 (título de la pestaña, también conocido como “título del icono”) o 2 (ventana   título) y Pt es el texto del título.

     

Se mostrará un título de ventana personalizado dentro del título de la pestaña (junto a   con los otros elementos seleccionados) si no hay un título de pestaña personalizado.

     

El siguiente comando bash de ejemplo establece el título de la pestaña en "Mi pestaña":

     

printf '\e]1;%s\a' 'My Tab'

    
respondido por el mtklr 15.01.2016 - 06:51

Lea otras preguntas en las etiquetas