0 votos

Cómo encontrar el escritorio que contiene una ventana de Terminal

Tengo una ventana de Terminal en el escritorio 1 ejecutando algunas pruebas unitarias.

En el escritorio 2, estoy usando Chrome en Internet.

Quiero ejecutar un script de Apple al final de las pruebas unitarias, para poder cambiar al escritorio 1.

No he encontrado una manera de obtener el escritorio que contiene la ventana de Terminal.

3voto

David Anderson Puntos 2189

Cierre todas las ventanas de Terminal excepto las ventanas de Terminal en el escritorio 1. Al final de las pruebas unitarias, ejecute el siguiente comando.

osascript -e 'tell application "Terminal" to activate'

La Mac debería cambiar al escritorio 1.


Si necesita ventanas de Terminal en otros escritorios, abra alguna otra aplicación que no necesite en el escritorio 1. Por ejemplo, la aplicación de Calculadora. En lugar del comando anterior, use el siguiente comando.

osascript -e 'tell application "Calculator" to activate'

1voto

hym3242 Puntos 31

Estoy asumiendo que "desktop" en tu pregunta significa "espacios" en la terminología de Apple.

Para obtener el spaceid que contiene un windowid específico, puedes usar la función privada SLSCopySpacesForWindows de SkyLight. Ver CGSInternal.

Para el windowid, puedes usar alguna API pública de CoreGraphics para consultarlo.

Para cambiar de espacio programáticamente, no conozco una función privada para cambiar de espacio por spaceid, pero quizás puedas hacerlo enumerando todos los spaceid y luego ir a su índice con un script de Apple invocando las teclas de acceso directo.

AppleAyuda.com

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.

Powered by:

X