Etkinleştirmeden ve diğer pencereleri öne getirmeden, belirli bir pencereyi el yazısı ile nasıl odaklayabilirim?


18

Tüm pencereleri öne çıkaran bir "etkinleştirme" yapmadan, bir uygulamanın belirli bir penceresini seçmek / odaklamak için AppleScript yöntemini arıyorum .

İşte şimdiye kadar sahip olduğum şey:

tell application "Google Chrome"
    set windowTitle to title of first window whose title contains "whatever"
end tell
tell application "System Events" to tell process "Google Chrome"
    click menu item windowTitle of menu 1 of menu bar item "Window" of menu bar 1
end tell
tell application "Google Chrome" to activate    

Sorun son satırdaki "etkinleştirme" dir. Bu her şeyi öne çıkarır, ama ben sadece bir pencereyi istiyorum.

Yanıtlar:


15

activateKomutun bütün pencereleri kaldırması konusunda haklısın . openKabuk komutu yalnızca olsa bir pencere yükseltir:

tell application "Google Chrome" to set index of window 1 where title contains "whatever" to 1
delay 0.05
do shell script "open -a Google\\ Chrome"

Ah, bu harika. Ne yazık ki, Chrome zaten odaklanmışsa, "ne olursa olsun" penceresi yalnızca öne doğru yanıp sönüyor ve halihazırda odaklanmış pencere kayboluyorsa, yaklaşıyor. Açık -a boyunca "menü öğesinin tıklatma" tekniğini kullanırsam, işe yarıyor, ama bu erişilebilirlik gerektiriyor. Bunu aşmak için bir fikrin var mı?
Aaron Jensen

1
Sadece iki satır arasına bir "gecikme 0,05" ekleyerek mükemmel çalışıyor gibi görünüyor. Tekrar teşekkürler!
Aaron Jensen

Tekrar üretemedim, ama siz de deneyebilirsiniz tell application "System Events" to tell process "Google Chrome" to perform action "AXRaise" of window 1.
Lri

3
Ben alıyorum:execution error: The variable title is not defined. (-2753)
redolent

3
Re: yürütme hatası. Değişim titleiçin name.
vaughan
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.