ฉันจะโฟกัสหน้าต่างเฉพาะด้วย applescript โดยไม่เปิดใช้งานและนำหน้าต่างอื่นมาไว้ด้านหน้าได้อย่างไร


18

ฉันกำลังมองหาวิธี w / AppleScript เพื่อเลือก / โฟกัสหน้าต่างเฉพาะของแอปพลิเคชันโดยไม่ได้ทำการ "เปิดใช้งาน" ซึ่งจะนำหน้าต่างทั้งหมดไปไว้ด้านหน้า

นี่คือสิ่งที่ฉันมี:

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    

ปัญหาคือ "เปิดใช้งาน" ในบรรทัดสุดท้าย นั่นนำทุกอย่างมาไว้ด้านหน้า แต่ฉันแค่ต้องการหน้าต่างเดียว

คำตอบ:


15

คุณพูดถูกที่activateคำสั่งยกหน้าต่างทั้งหมดขึ้น openคำสั่งเชลล์เพียงยกหนึ่งหน้าต่างว่า:

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"

นี่มันเยี่ยมมาก มันเข้ามาใกล้โชคไม่ดีถ้า Chrome มุ่งเน้นไปที่หน้าต่าง "อะไรก็ตาม" จะกระพริบที่ด้านหน้าเท่านั้นและหน้าต่างที่มุ่งเน้นในขณะนี้จะชนะ หากฉันใช้เทคนิค "รายการเมนูคลิก" พร้อมกับเปิด -a ดูเหมือนว่าจะใช้งานได้ แต่ต้องมีการเข้าถึง ความคิดใดที่จะหลีกเลี่ยงได้?
แอรอนเซ่น

1
เพียงเพิ่ม "ความล่าช้า 0.05" ในระหว่างสองบรรทัดของคุณดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์ ขอบคุณอีกครั้ง!
แอรอนเซ่น

ฉันทำซ้ำไม่ได้ แต่คุณสามารถลองtell application "System Events" to tell process "Google Chrome" to perform action "AXRaise" of window 1ได้
Lri

3
ฉันได้รับ:execution error: The variable title is not defined. (-2753)
redolent

3
Re: ข้อผิดพลาดในการดำเนินการ เปลี่ยนไปtitle name
vaughan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.