OS X 10.8'de Applescript'i kullanarak bir pencereyi odaklanmadan en öteye nasıl getirebilirim?


9

Ben en önünde bir pencere (örneğin QuickTime) getirmek istiyorum bunu odaklama olmadan . Applescript'te aşağıdaki kodu kullanarak OS X 10.7'de yapabilirim.

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

Bu bir Python eşdeğeri.

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

Ancak OS X 10.8'e yükselttikten sonra çalışmıyor. Çalışmasını sağlamanın bir yolu var mı?

Yanıtlar:


12

Bir uygulamanın açık pencereleri varsa, bu pencereleri diğer uygulamalardan pencerelerin üzerine yükseltmeli, ancak mevcut uygulamadaki pencerelerin altında tutmalıdır.

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

İstediğim şey bu. Teşekkürler. Bu arada, eylemlerin belgelerini nerede bulabilirim?
Yuxiao Zeng

1
Erişilebilirlik Rolleri ve Öznitelikleri Başvuru: Eylemler . UI öğelerinin hangi eylemleri desteklediğini actions ofErişilebilirlik Denetçisi'ni kullanarak veya kullanarak görebilirsiniz.
Lri

1
"Güvenlik ve Gizlilik" sekmesinin "Gizlilik" sekmesinin "Erişilebilirlik" bölümüne arama uygulamasını (AppleScript'i çalıştıran uygulama) eklemediyseniz, OS X 10.10 (Yosemite) ve 10.11'de (El-Capitan) AXRaise'a izin verilmez "Sistem Tercihleri ​​paneli. Bu, ilk kez yapmaya çalışacağınız anlamına gelir - size tercihlere götürmenizi önerecek sistem kullanıcı arayüzü sunulur. Ben kullanıcı deneyimi dolambaçlı nedeniyle kullanamazsınız. AX (erişilebilirlik API'sı) kullanmadan pencereyi yükseltmek için başka bir yolu var mı ???
Motti Shneor

-1

Peki, yazınızdan ne topladığımdan, bir uygulamayı Applescript kullanarak görünüme getirmeye çalışıyorsunuz? Eğer öyleyse, Mountain Lion'da bunun kodu aslında oldukça basit! İşte burada:

tell application "Quicktime Player"
activate
end tell

Umarım bu işe yarar! İstediğiniz gibi değilse, bana bildirin, sizin için güncelleyeceğim. :)


2
Etkinleştirme Quicktime'a odaklanacak, bu yüzden istediğim bu değil. Yani, Applescript uygulamasını açarsanız, kodunuzu yazın ve çalıştırın, pencere odağı Quicktime'a taşınacaktır. Sonuç olarak, örneğin Applescript penceresini tıklamadan önce herhangi bir kod yazamazsınız.
Yuxiao Zeng
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.