Làm cách nào để tập trung một cửa sổ cụ thể bằng applescript mà không thực hiện kích hoạt và đưa các cửa sổ khác ra phía trước?


18

Tôi đang tìm kiếm một phương pháp w / AppleScript để chọn / tập trung một cửa sổ cụ thể của ứng dụng mà không thực sự thực hiện "kích hoạt" đưa tất cả các cửa sổ ra phía trước.

Đây là những gì tôi có cho đến nay:

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    

Vấn đề là "kích hoạt" trong dòng cuối cùng. Điều đó mang mọi thứ ra phía trước, nhưng tôi chỉ muốn một cửa sổ.

Câu trả lời:


15

Bạn nói đúng rằng activatelệnh tăng tất cả các cửa sổ. Lệnh openshell chỉ tăng một cửa sổ mặc dù:

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, điều này thật tuyệt Thật không may, nó rất gần, nếu Chrome đã tập trung thì cửa sổ "bất cứ thứ gì" chỉ nhấp nháy ra phía trước và cửa sổ hiện đang tập trung sẽ thắng. Nếu tôi sử dụng kỹ thuật "mục menu nhấp chuột" cùng với mở -a, nó có vẻ hoạt động, nhưng điều đó đòi hỏi khả năng truy cập. Bất kỳ ý tưởng để có được xung quanh đó?
Aaron Jensen

1
Chỉ cần thêm "độ trễ 0,05" ở giữa hai dòng của bạn dường như hoạt động hoàn hảo. Cảm ơn một lần nữa!
Aaron Jensen

Tôi không thể tái tạo nó, nhưng bạn cũng có thể thử tell application "System Events" to tell process "Google Chrome" to perform action "AXRaise" of window 1.
Lri

3
Tôi nhận được:execution error: The variable title is not defined. (-2753)
hương thơm

3
Re: lỗi thực thi. Thay đổi titlethành name.
vaughan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.