Seleccione un elemento de menú en AppleScript sin usar "Eventos del sistema" en 10.9 Mavericks


15

Estaba respondiendo otra pregunta y recordé una nueva "característica" en Mavericks.

Solía ​​tener una serie de pequeños Automator Servicemensajes de texto que no recibían información pero que hacían algo útil cuando se ataba a una tecla. El ejemplo perfecto fue uno para llevar la Terminal al frente. Algunos de estos requirieron seleccionar un elemento de menú en la aplicación traído al frente como Bring All to Front.

Ahora parece que necesita otorgar "accesibilidad" a cada aplicación para que una pulsación de tecla universal funcione si el Servicio utiliza la System Eventsbiblioteca AppleScript.

Alguien sabe una solución para esto?


2
El hecho de que la accesibilidad tenga que ser autorizada individualmente por aplicación es ridículo. Necesitan una configuración muy parecida a la Allow applicationsfunción.
l'L'l

1
Bueno, necesitan una forma de autorizar la biblioteca AppleScript de 'Eventos del sistema' que emite el comando en lugar de la aplicación que se está ejecutando cuando activa el servicio. Pero es ridículo.
Tony Williams

Respuestas:


25

No sé cómo hacer clic en los elementos del menú sin usar System Events, pero si otros llegan aquí buscando cómo hacer clic en los elementos del menú con System Events:

tell application "System Events" to tell process "Finder"
    click menu item "New Finder Window" of menu 1 of menu bar item "File" of menu bar 1
end tell
tell application "System Events" to tell process "Finder"
    set frontmost to true
    click (menu item 1 where its name starts with "Compress") of menu 1 of menu bar item "File" of menu bar 1
end tell
tell application "System Events" to tell process "Finder"
    set frontmost to true
    tell menu bar item "File" of menu bar 1
        click
        click menu item "Open With" of menu 1
    end tell
end tell

Puede permitir que todas las aplicaciones instaladas actualmente utilicen la API de accesibilidad arrastrándolas a la lista en Preferencias del sistema:

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.