7 votos

¿Existe un comando de Terminal para abrir un elemento de la barra de menús de Mac?

Supongamos que quiero abrir una aplicación específica que tiene un icono en la bandeja de la barra de menús, ¿es posible hacerlo mediante un comando del shell?

En mi caso, hay una aplicación llamada "Quick View Calendar" (disponible en la Mac App Store) que aparece en la barra de menús, que me gustaría abrir con un comando de Terminal y utilizar ese código para ejecutar un servicio de Automator para

0 votos

¿Puede describir los pasos que sigue normalmente para abrir la aplicación? Por ejemplo, ¿se trata simplemente de hacer clic en el icono de la barra de menús, o hay que hacer clic con el botón derecho del ratón y seleccionar una opción del menú? ¿Hay algún atajo de teclado que abra la aplicación? Si puedes responder a estas preguntas, tal vez pueda ofrecerte una solución viable.

0 votos

Es un solo clic para abrir la aplicación. No hay ningún acceso directo por defecto.

0 votos

Si realmente quieres hacerlo por TERMINAL y tu respuesta elegida NO te ayuda -ya que algunas aplicaciones son inasumibles- hay una solución completa descrita en el enlace de abajo, que pone a tu disposición un simple comando "click x y". (En esa página encontrarás los procedimientos para instalarlo en 10 minutos). stackoverflow.com/questions/4230867/

6voto

qarma Puntos 71

Dado que todo lo que se requiere es un solo clic en el icono de la barra de menús para abrir la aplicación, AppleScript puede lograr esto muy fácilmente utilizando scripts de interfaz gráfica de usuario, lo que requiere que se concedan los permisos de accesibilidad correctos a cualquier programa que vaya a utilizar para ejecutar el AppleScript (por ejemplo script Editor , Automatizador , Terminal etc.).

Así que, en primer lugar, conceda los permisos adecuados a través de Preferencias del sistema . Esta captura de pantalla es de MacOS 10.13:

System Preferences on MacOS 10.13

Una vez hecho esto, abra Script Editor y ejecutar este script. No tengo Vista rápida del calendario pero los principios para la mayoría de las aplicaciones de la barra de menús son los mismos, así que con esto se espera obtener una lista de nombres de aplicaciones que tienen iconos en su barra de menús:

    tell application "System Events" to get the name of ¬
        every process whose class of menu bar 2 is menu bar 

"Vista rápida del calendario" o algo similar debería aparecer en la lista que se devuelve al ejecutar ese comando. Este es el nombre que he utilizado en el siguiente fragmento, que es el que realmente hace lo que necesitas, es decir, emitir un clic de ratón al icono de la barra de menú y abrir la aplicación. Si el nombre es algo diferente, puedes cambiarlo tú mismo:

    tell application "System Events" to tell process "Quick View Calendar" to ¬
        click menu bar item 1 of menu bar 2

Puede pegar este código en un Ejecutar AppleScript acción en Automatizador (de nuevo, siempre que Automatizador se le han concedido permisos de accesibilidad), que pasará a formar parte de su flujo de trabajo en la creación del servicio que desea crear.

Su petición original era ejecutar un comando desde Terminal para realizar esta acción, por lo que puede simplemente abrir Terminal (de nuevo, ¡permisos de accesibilidad!), y escribe esto:

    osascript \
        -e 'tell application "System Events" to ¬' \
        -e 'tell process "Quick View Calendar" to ¬' \
        -e 'click menu bar item 1 of menu bar 2'

Si tienes algún problema, házmelo saber.

1voto

Douglas Puntos 10417

La terminal (bash, csh, zsh, etc.) no "abre" los comandos de la barra de menús. Para eso está AppleScript, que scripts la interfaz gráfica de usuario.

Para conseguir que una aplicación "ejecute" una opción/función en la línea de comandos a la que normalmente se accedería a través de la barra de menús, se pasan parámetros de la línea de comandos. Típicamente, el comando tiene el siguiente aspecto:

$ command -x [optional arguments]

El comando anterior se ejecutará con la opción x (donde x es cualquier bandera que el comando acepte) y cualquier argumento opcional para esa bandera.

La advertencia aquí es que la aplicación debe aceptar las opciones de la línea de comandos. Si no lo hace no habrá nada que puedas scribir desde la línea de comandos para hacer lo que quieres.

Si ese es el caso, mira a AppleScript, pero ten en cuenta que no todas las aplicaciones son scripts bajo AppleScript.

0 votos

Siempre está el scripting de la GUI (pero necesita permiso de accesibilidad).

0voto

zonble Puntos 2925

Puedes compilar una aplicación de Foundation framework muy sencilla de 14 líneas, que a partir de ese momento te dará la posibilidad de hacer clic en cualquier punto x/y de la pantalla,

[ Contenido retirado debido a la masiva anónimo votar a la baja ]

0 votos

[Si votas en contra de una respuesta que pretende ayudar a los demás (o al menos da pistas), por favor, sé tan honesto como para escribir una breve frase de por qué no te "gusta". ]

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