OS의 어느 곳에서나 특정 창에 초점을 맞추는 명령 만들기


10

웹을 개발하는 동안 텍스트 편집기와 브라우저 사이를왔다 갔다하는 경향이 있습니다. OS 수준에서 키보드 단축키를 설정하여 매번 정의 가능한 특정 창으로 이동할 수 있습니다. 응용 프로그램에서 무언가를 실행하도록 지시하는 기능이 더 좋을 것입니다.하지만 나중에 저장하겠습니다.

이 작업을 수행 할 수있는 기술이 있습니까? C와 AppleScript 사이에 이런 종류의 상호 작용을 만들 수있는 것이 있어야합니다. 어디서부터 시작해야할지 아는 사람이 있습니까?

감사.

답변:


2

Automator를 사용해보십시오. Dock에서 앱을 클릭하는 새 서비스 (나중에 모든 앱에 대해 게시하고 키보드 단축키를 할당 할 수 있음)를 "기록"할 수 있습니다. 실제로, 더 많은 작업을 추가하고 "어플리케이션을 실행하여 응용 프로그램 실행"을 수행 할 수 있습니다.

Dock에서 Mail을 클릭 한 다음 도구 모음에서 새 메일 가져 오기 아이콘 을 클릭하는 (상대적으로 쓸모는 없지만 작동하는) 것을 만들려고했습니다 . 재미;)

첨부 된 결과는 Automator 결과입니다.

자동화

오른쪽 상단에 있는 녹음 단추를 사용하여 직접 조치를 수행했습니다 (메일의 도크 아이콘을 클릭 한 다음 도구 모음에서 메일의 새 메일 가져 오기 아이콘을 클릭 한 다음 "녹화 중지"를 클릭). 입력에 관심이 없었기 때문에 첫 번째 콤보 상자에서 "서비스 수신 [입력 안 함]"을 선택했습니다.

이를 통해 TextEditor와 브라우저를 오가는 몇 가지 서비스를 가질 수있는 여러 가지 가능성이 있습니다.

Automator는 Spotlight를 사용하고 Automator (/Applications/Automator.app에도 있음)를 입력하여 찾습니다.

이 경우 새 "서비스"를 만들었지 만 "스크립트"를 만들어 도망 갈 수 있습니다. 어느 것이 더 빠를 지 확실하지 않습니다. 실험. Automator는 당신의 친구입니다.


5

AppleScript를 사용하여 이와 같은 작업을 수행 할 수 있습니다.

tell application "Terminal"
    activate
    windows where name contains "bash"
    if result is not {} then set index of item 1 of result to 1
end tell

또는 시스템 이벤트 사용 :

tell application "System Events" to tell process "Terminal"
    set frontmost to true
    windows where title contains "bash"
    if result is not {} then perform action "AXRaise" of item 1 of result
end tell

1

Mac OS X에서 다른 키보드 단축키 또는 트랙 패드 동작을 설정 하기 위해 BetterTouchTool 을 사용 합니다. 실행할 수있는 조치 중 하나는 터미널 명령 실행입니다.

따라서 명령 설정에서 다음을 제공합니다.

osascript -e 'tell application "NameOfTheApplicationHere" to activate'

다음은 BetterTouchTool 환경 설정의 예입니다.

여기에 이미지 설명을 입력하십시오


1

iTerm2와 함께 작동하는 데 많은 문제가있었습니다. 단일 명령 솔루션은 다음과 같습니다.

  osascript -e 'tell application "System Events" to tell process "iTerm2"' \
            -e 'set frontmost to true' \
            -e 'if windows is not {} then perform action "AXRaise" of item 1 of windows' \
            -e 'end tell'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.