Leer ambos títulos de Terminal.app por pestaña

2

Al abrir el Inspector (⌘I) en Terminal.app para editar el título (⇧⌘I), en realidad hay dos títulos que se pueden ingresar. El primero se conoce como Título de la pestaña y afecta al título de la ventana del terminal (pero solo cuando se selecciona esa pestaña). El segundo es el Subtítulo de la pestaña y afecta solo al texto en el encabezado de la pestaña. [La denominación parece extraña, ya que el Título de la pestaña afecta al título de la ventana y el Subtítulo de la pestaña al título de la pestaña.]

Preferiendo osascript, pero abierto a otros enfoques, deseo obtener ambos títulos para cada pestaña mediante programación. Al revisar los diccionarios de AppleScript, los documentos de Cocoa Framework, etc., solo he encontrado cómo leer el título de la pestaña, que aparece como la propiedad "título personalizado" (custom_title) de la pestaña. Este es el que todos los resultados de búsqueda para obtener / configurar el título a través de osascript se refieren. Aunque hay otras propiedades de título en la ventana y tab.current_settings, parece que todas se refieren solo a este primer campo de título y, por lo tanto, hay cierta redundancia.

Estoy configurando cada título mediante programación utilizando secuencias de escape de terminal, ya que tampoco sé cómo configurar el Subtítulo de pestaña.

Aunque es posible utilizar scripts de UI, espero que este enfoque tenga que desplazarse visiblemente a través de todas las ventanas / pestañas del Terminal para poder leerlas todas al generar el resultado general que deseo. Preferiría algo que pueda obtener los datos sin causar cambios de selección / enfoque.

Mi última opción parece un poco pesada (aunque puede ser preferible a los scripts de UI) que es exportar la configuración (Shell > Export Settings ...) que produce un archivo XML grande que incluye ambos campos. Sorprendentemente, las estructuras de datos en este archivo coinciden con las estructuras de AppleScript casi de manera idéntica, excepto que incluye el campo que me falta.

Al ser bastante nuevo en la programación en la plataforma de Apple, ¿puede alguien explicarme cómo puedo obtener estos datos que parece que deberían existir en el lugar que estoy buscando pero que no puedo encontrar?

    
pregunta TerminalUser 20.11.2012 - 22:34

1 respuesta

1

Prueba:

tell application "Terminal"
    set myTabs to every tab of window 1
    set myData to {}
    repeat with aTab in myTabs
        set aTab's selected to true
        delay 0.2
        set windowTitle to name of window 1
        set customTitle to aTab's custom title
        set end of myData to "Window:" & windowTitle & return & "Custom Title:" & customTitle & return & return
    end repeat
    display dialog (myData as text)
end tell
    
respondido por el adayzdone 20.11.2012 - 22:57

Lea otras preguntas en las etiquetas