16 votes

Sélectionner un élément de menu dans AppleScript sans utiliser les "événements système" dans 10.9 Mavericks

Je répondais justement à une autre question et je me suis souvenu d'une nouvelle "fonctionnalité" de Mavericks.

J'avais l'habitude d'avoir un certain nombre de petites Automator Service qui ne prennent aucune entrée mais qui font quelque chose d'utile lorsqu'ils sont liés à une frappe de touche. L'exemple parfait est celui qui permet de mettre le terminal en avant. Certaines d'entre elles nécessitaient la sélection d'un élément de menu dans l'application mise en avant, par exemple Bring All to Front .

Il semble maintenant qu'il faille accorder l'"accessibilité" à chaque application pour qu'une frappe universelle fonctionne si le service utilise l'attribut System Events Bibliothèque AppleScript.

Quelqu'un connaît-il une solution à ce problème ?

2 votes

Le fait que l'accessibilité doive être autorisée individuellement par application est ridicule. Ils ont besoin d'un paramètre comme le Allow applications fonction.

1 votes

Eh bien, ils ont besoin d'un moyen d'autoriser la bibliothèque AppleScript "System Events" qui émet la commande plutôt que l'application qui est en cours d'exécution lorsque vous activez le service. Mais c'est ridicule.

30voto

Je ne sais pas comment cliquer sur les éléments de menu sans utiliser les événements système, mais si d'autres personnes arrivent ici en cherchant comment cliquer sur les éléments de menu avec les événements système :

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

Vous pouvez autoriser toutes les applications actuellement installées à utiliser l'API d'accessibilité en les faisant glisser vers la liste dans les Préférences système :

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X