Bagaimana saya bisa membawa jendela ke depan tanpa memfokuskannya menggunakan Applescript di OS X 10.8


9

Saya ingin membawa jendela (QuickTime misalnya) ke depan, tanpa memfokuskannya . Saya dapat melakukannya di OS X 10.7 menggunakan kode berikut dalam Applescript.

tell application "System Events"
    set visible of process "QuickTime Player" to true
end tell

Ini setara dengan Python.

from ScriptingBridge import *
process = SBApplication.applicationWithBundleIdentifier_('com.apple.systemevents').processes().objectWithName_('QuickTime Player')
process.setVisible_(True)

Tapi itu tidak berhasil setelah saya upgrade ke OS X 10.8. Apakah ada cara untuk membuatnya bekerja?

Jawaban:


12

Jika suatu aplikasi memiliki windows yang terbuka, ini harus menaikkannya di atas windows dari aplikasi lain, tetapi tetap di bawah yang dari aplikasi saat ini.

tell application "System Events"
    perform action "AXRaise" of window 1 of process "QuickTime Player"
end tell

Itu yang saya mau. Terima kasih. Omong-omong, di mana saya dapat menemukan dokumentasi tindakan?
Yuxiao Zeng

1
Referensi Aksesibilitas dan Atribut Referensi: Tindakan . Anda dapat melihat tindakan apa yang didukung actions ofoleh elemen UI atau dengan menggunakan Inspektur Aksesibilitas.
Lri

1
AXRaise tidak diizinkan di OS X 10.10 (Yosemite) dan 10.11 (El-Capitan) kecuali Anda menambahkan aplikasi panggilan (aplikasi yang mengeksekusi AppleScript) ke bagian "Aksesibilitas" pada tab "Privasi" pada tab "Privasi" pada "Keamanan & Privasi" "Panel Preferensi Sistem. Ini berarti bahwa pertama kali Anda akan mencoba melakukannya - Anda akan disajikan dengan UI sistem yang akan menyarankan untuk membawa Anda ke preferensi. Saya tidak dapat menggunakannya karena jalan memutar dalam pengalaman pengguna. Apakah ada cara lain untuk menaikkan jendela tanpa menggunakan AX (API aksesibilitas) ???
Motti Shneor

-1

Jadi, dari apa yang saya kumpulkan dari pos Anda, Anda mencoba menghadirkan aplikasi menggunakan Applescript? Jika demikian, kode untuk ini di Mountain Lion sebenarnya cukup sederhana! Ini dia:

tell application "Quicktime Player"
activate
end tell

Saya harap ini berhasil! Jika bukan itu yang Anda inginkan, beri tahu saya dan saya akan memperbaruinya untuk Anda. :)


2
Nah, aktifkan akan fokus Quicktime, jadi bukan itu yang saya inginkan. Maksud saya, jika Anda membuka aplikasi Applescript, ketik kode Anda dan jalankan, fokus jendela akan dipindahkan ke Quicktime. Akibatnya, Anda tidak dapat mengetikkan kode apa pun sebelum mengklik jendela Applescript misalnya.
Yuxiao Zeng
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.