Pilih item menu di AppleScript tanpa menggunakan "System Events" di 10.9 Mavericks

15

Saya hanya menjawab pertanyaan lain dan diingatkan tentang "fitur" baru di Mavericks.

Saya dulu memiliki sejumlah Automator Services kecil yang tidak mengambil input tetapi melakukan sesuatu yang berguna ketika dikaitkan dengan keystroke. Contoh sempurna adalah seseorang untuk membawa Terminal ke depan. Beberapa di antaranya diperlukan memilih item menu dalam aplikasi yang dibawa ke depan seperti Bring All to Front.

Sekarang tampaknya Anda perlu memberikan "aksesibilitas" ke setiap aplikasi tunggal sehingga penekanan tombol universal akan berfungsi jika Layanan menggunakan System Eventsperpustakaan AppleScript.

Adakah yang tahu cara memperbaikinya?

Tony Williams
sumber
2
Fakta bahwa Aksesibilitas harus diotorisasi secara individual per-aplikasi adalah konyol. Mereka membutuhkan pengaturan seperti Allow applicationsfitur.
l'L'l
1
Yah, mereka membutuhkan cara untuk mengotorisasi pustaka AppleScript 'System Events` yang mengeluarkan perintah daripada aplikasi yang berjalan saat Anda mengaktifkan layanan. Tapi itu konyol.
Tony Williams

Jawaban:

25

Saya tidak tahu cara mengklik item menu tanpa menggunakan Acara Sistem, tetapi jika orang lain datang ke sini mencari cara mengklik item menu dengan Acara Sistem:

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

Anda dapat mengizinkan semua aplikasi yang diinstal saat ini untuk menggunakan API aksesibilitas dengan menyeretnya ke daftar di System Preferences:

Lri
sumber