활성화하지 않고 다른 창을 앞으로 가져 오지 않고 애플 스크립트로 특정 창에 초점을 맞추려면 어떻게해야합니까?


18

실제로 모든 창을 맨 앞으로 가져 오는 "활성화"를 수행하지 않고 응용 프로그램의 특정 창을 선택 / 포커스하는 방법을 찾고 있습니다.

여기까지 내가 가진 것입니다 :

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이 이미 초점을 맞추면 "무엇이든"창이 앞쪽으로 만 깜박이고 현재 초점이 맞춰진 창에서 나옵니다. open -a와 함께 "클릭 메뉴 항목"기술을 사용하면 작동하는 것 같지만 접근성이 필요합니다. 그 문제를 해결할 아이디어가 있습니까?
Aaron Jensen

1
두 줄 사이에 "지연 0.05"를 추가하면 완벽하게 작동하는 것 같습니다. 다시 감사합니다!
Aaron Jensen

나는 그것을 재현 할 수 없었지만 시도해 볼 수도 있습니다 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)
연상

3
다시 : 실행 오류. 변경 titlename.
vaughan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.