독에서 아이콘을 클릭하는 방법 == 새 인스턴스 열기


16

Dock에 여러 인스턴스를 열 수있는 여러 응용 프로그램이 있습니다 (예 : Chrome, iTerm, Sublime 등).

아이콘 중 하나를 클릭하면 새 창이 열리기를 원합니다 (현재 열려있는 창이없는 경우에 발생). 인스턴스가 이미 열려 있으면 인스턴스로 이동합니다.

인스턴스가 완전히 다른 데스크톱 인스턴스에 있고 내 데스크톱이 변경되면 특히 짜증이납니다.

아이콘을 클릭하면 이미 열린 창으로 리디렉션하는 대신 새 창이 열리도록 설정할 수있는 설정이 있습니까?


2
Dock에 유지할 수있는 약간의 AppleScript 로이 작업을 수행하는 방법을 보여줄 수 있습니다.
Ian C.

또는 ctrl + n을 누르십시오.
CoffeeRain

3
@CoffeeRain Ctrl-N? 그게 뭐야? iTerm 및 Chrome에서는 아무 것도 수행하지 않습니다. Cmd-N을 의미한다고 생각하지만 앱이 포 그라운드에있는 경우에만 작동합니다.
Ian C.

@IanC. 죄송합니다. Cmd-N을 의미했습니다.
CoffeeRain

답변:


17

AppleScript 및 영리한 아이콘 이미지 붙여 넣기와 함께 무언가를 끌 수 있습니다. 다음은 iTerm / iTerm2에서 수행하는 방법입니다.

AppleScript 편집기를 열고 다음 AppleScript에 붙여 넣으십시오.

set myapp to "iTerm"
on appIsRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
    # What you do here will depend on the program. This works for
    # iTerm but you'll need to look up the actions for other programs
    # since this bit is iTerm-specific.
    tell application "iTerm"
        set myterm to (make new terminal)
        tell myterm
            launch session "Default"
        end tell
    end tell
else
    tell application myapp
        activate
    end tell
end if

편집기에서 실행 단추를 사용하여 작동하는지 테스트 할 수 있습니다. 다른 프로파일을 열려면 12 행의 "Default"를 열려는 프로파일의 이름으로 변경하십시오.

이제이 AppleScript를 저장하십시오. 하단의 "파일 형식"아래에있는 저장 대화 상자의 목록에서 "응용 프로그램"을 선택하십시오.

내 데스크탑에 "New iTerm.app"로 저장했습니다.

이제 데스크탑에서 "New iTerm.app"을 클릭 할 때마다 새로운 iTerm 창이 나타납니다. "New iTerm.app"을 Dock으로 드래그하면 Dock 아이콘이됩니다. 새 iTerm 창을 열려면 언제든지 클릭하면됩니다. 그러나 아이콘은 일반적인 AppleScript 아이콘입니다.

iTerm 아이콘으로 변경해 봅시다. 데스크탑에서 "New iTerm.app"을 선택하고 Cmd-I를 클릭하여 응용 프로그램의 속성 화면을 불러옵니다.

이제 /ApplicationsFinder 윈도우로 이동하여 설치된 응용 프로그램 목록에서 iTerm을 찾아서 선택한 다음 Cmd-I를 클릭하여 iTerm 응용 프로그램의 속성 화면을여십시오.

iTerm 정보 윈도우에서 아이콘을 클릭하면 부드러운 파란색 그림자가 나타납니다. Cmd-C를 눌러 아이콘을 클립 보드에 복사하십시오.

이제 "New iTerm.app"정보 창에서 아이콘을 클릭하고 Cmd-V를 눌러 iTerm 아이콘을 "New iTerm.app"응용 프로그램에 붙여 넣으십시오.

아이콘을 iTerm에서 새 iTerm으로 복사

이제 iTerm 아이콘이 있어야합니다.

원하는 경우 "New iTerm.app"를 /Applications폴더 로 옮길 수 있습니다 . 보관하기로 결정한 폴더에서 도크로 다시 드래그하면 Dock에서 해당 폴더를 클릭 할 때마다 새 iTerm 창을 열 수 있습니다.

실행중인 iTerm.app Dock 아이콘과 구별하려면 아이콘을 Pixelmator와 같은 이미지 편집기에 붙여넣고 큰 빨간색 +을 추가 하여 새 iTerm을 누르기위한 아이콘으로 명확하게 식별 할 수 있습니다. 아이콘 대신 창을 눌러 종료를 보려면 iTerm 응용 프로그램을여십시오.

다음은 다른 응용 프로그램에서 사용자 정의 작업을 시작하는 데 필요한 스크립트입니다.

구글 크롬 (새 창)

set myapp to "Google Chrome"
on appIsRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
    tell application "Google Chrome"
        make new window
    end tell
else
    tell application myapp
        activate
    end tell
end if

Chrome (새 탭)

set myapp to "Google Chrome"
on appIsRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
    tell application "Google Chrome"
        make new tab at end of tabs of window 1
    end tell
else
    tell application myapp
        activate
    end tell
end if

숭고한 텍스트 2

불행히도 ST2에는 AppleScript에 액세스 할 수있는 확장 기능이없는 것 같습니다. ST2와 함께 제공되는 OS X 명령 행 도구를 항상 살펴볼 수 있습니다 . Dock의 간단한 스크립트에서이를 호출하여 ST2에서 새 창을 열 수 있습니다. 그래서:

set myapp to "Sublime Text 2"
on appIsRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
    # Assumes you've installed the subl command line tool for ST2
    # in to /usr/local/bin. Adjust accordingly.
    do shell script "/usr/local/bin/subl --new-window"
else
    tell application myapp
        activate
    end tell
end if

2
다양한 사용 사례와 세부 사항을 다루는 명확한 예를 통해 훌륭한 답변을 얻으십시오! 감사!
Adam Davis

@AdamDavis 방금 AppleScript로 시작했기 때문에 배운 내용을 테스트하는 것이 좋습니다.
Ian C.

현재 실행중인 응용 프로그램의 이름을 얻는 데 사용할 수 있습니까?
William

앱이 실행되고 있고 현재 데스크톱에 없는지 확인하는 방법이 있습니까? 기존 창이 다른 바탕 화면에있는 경우에만 새 창을 원합니다.
adamdport
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.