Seleziona una voce di menu in AppleScript senza utilizzare "Eventi di sistema" in 10.9 Mavericks


15

Stavo solo rispondendo a un'altra domanda e mi è stato ricordato un nuovo "lungometraggio" in Mavericks.

Avevo un numero di piccole Automator Services che non prendevano input ma che facevano qualcosa di utile quando erano legate a una sequenza di tasti. L'esempio perfetto è stato quello di portare il Terminal in primo piano. Alcuni di questi richiedevano la selezione di una voce di menu nell'applicazione portata in primo piano come Bring All to Front.

Ora sembra che sia necessario concedere "accessibilità" a ogni singola app in modo che una sequenza di tasti universale funzioni se il Servizio utilizza la System Eventslibreria AppleScript.

Qualcuno sa una soluzione per questo?


2
Il fatto che l'accessibilità debba essere autorizzata individualmente per app è ridicolo. Hanno bisogno di un'impostazione molto simile alla Allow applicationsfunzione.
L'l

1
Bene, hanno bisogno di un modo per autorizzare la libreria AppleScript "Eventi di sistema" che emette il comando anziché l'app in esecuzione quando si attiva il servizio. Ma è ridicolo.
Tony Williams,

Risposte:


25

Non so come fare clic sulle voci di menu senza utilizzare Eventi di sistema, ma se altri arrivano qui alla ricerca di come fare clic sulle voci di menu con Eventi di sistema:

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

Puoi consentire a tutte le applicazioni attualmente installate di utilizzare l'API di accessibilità trascinandole nell'elenco in Preferenze di Sistema:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.