Estoy intentando iterar sobre cada pestaña de cada ventana en Terminal
tell application "Terminal"
activate
repeat with t in tabs
end repeat
end tell
salida
execution error: Terminal got an error: Can’t get every tab. (-1728
Estoy intentando iterar sobre cada pestaña de cada ventana en Terminal
tell application "Terminal"
activate
repeat with t in tabs
end repeat
end tell
salida
execution error: Terminal got an error: Can’t get every tab. (-1728
Las pestañas son un elemento de una ventana, por lo que no puedes exigir simplemente una lista de pestañas.
Esto hará un ciclo a través de cada ventana abierta y tomará una referencia a cada pestaña en ella. Todas acabarán en una lista, pero no es probable que estén ordenadas.
tell application "Terminal"
set xt to tabs of windows -- nested list of tabs
set tList to {}
repeat with win in xt -- each window
repeat with tb in win -- each tab in above window
set end of tList to contents of tb
end repeat
end repeat
end tell
tList -- flat list of tabs
--> {tab 1 of window id 3824 of application "Terminal", tab 1 of window id 3568 of application "Terminal", tab 2 of window id 3568 of application "Terminal", tab 3 of window id 3568 of application "Terminal", tab 1 of window id 3564 of application "Terminal", tab 2 of window id 3564 of application "Terminal"}
Una vez que tenga una lista plana, puede recorrerla (por ejemplo, repetir con x en tList).
Así que aparentemente Terminal.app cada pestaña es siempre su propia ventana. Pero si realmente quería iterar a través de las pestañas en lugar de Windows puede hacerlo aquí. gracias a @red_menace por la ayuda
tell application "Terminal"
repeat with w in windows
repeat with t in tabs of w
set n to name of current settings of t
end repeat
end repeat
end tell
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.