도크에 여러 터미널 발사기가 있습니까?


0

도크에는 매일 사용하는 터미널 바로 가기가 있습니다. Macbook Pro에 대한 모니터 설정 (추가, 추가 2 개 등)에 따라 다른 시작 구성표 (4 개 창 또는 5 개 창)를 사용하고 싶습니다.

도크에 2 개 이상의 터미널 런처를 설치하는 방법이 있습니까? 하나는 "4 개의 창"설정을 시작하고 다른 하나는 "5 개의 창"설정을 시작합니까?


이것을 클릭하면 터미널이 실행됩니까?
0942v8653

바람직하지 않습니다. 내가 모든 것을 끝내고 처음부터 시작하고 싶다고 상상해보십시오. 예를 들어, 내가 지금 가지고있는 창은 4 개의 창을 시작하지만 (실행 중이 아닌 경우) 터미널이 현재 실행 중이면 하나의 창만 시작합니다. 동일한 기능을 원하지만 각 창 그룹마다 하나씩 두 가지 단축키가 있습니다.
drjrm3

최초의 런처는 어떻게 구성
됩니까

무슨 뜻인지 잘 모르겠습니다. 앱 아이콘을 작업 표시 줄로 끌어 놓았습니다.
drjrm3 2019

귀하의 의견을 잘 읽지 못했습니다. 방금 애플 스크립트를 작성했으며 잠시 후 답변을 게시 할 것입니다.
markhunte

답변:


0

터미널의 시작 창 그룹을 자동으로 전환하는 방법은 다음과 같습니다.

defaults write com.apple.Terminal 'Startup Window Group' 'four-windows'
defaults write com.apple.Terminal 'Startup Window Group' 'five-windows'

( four-windows그리고 five-windows터미널 창을 그룹 이름으로 교체해야합니다.)

AppleScript 또는 Automator를 사용하여 터미널을 실행하는 앱을 만들 수 있습니다.

-- AppleScript version
do shell script "defaults write com.apple.Terminal 'Startup Window Group' 'four-windows'"
tell app "Terminal" to activate

또는 linkapp스크립트 를 사용 하여 동일한 작업을 수행하는 새로운 앱 번들을 만들 수 있으며 아이콘은 그대로 유지됩니다.

python linkapp.py /Applications/Utilities/Terminal.app ./term-layout-4.app

그런 다음 랩퍼 스크립트가 제공되면이를 편집하고 기본 쓰기 행을 위에 추가하십시오 "$executable".

#!/usr/bin/env bash
executable="$(dirname "$0")/Terminal"

defaults write com.apple.Terminal 'Startup Window Group' 'four-windows'

"$executable" 

그런 다음 다른 창 그룹과 동일한 작업을 수행 할 수 있습니다. linkapp.py의 한 가지주의 사항은 창을 복원하려고 시도하기 때문에 두 가지를 동시에 실행할 수 없다는 것입니다.

아이콘을 변경할 수도 있지만 linkapp.py를 사용하지 않으면 Dock과 Command + Tab이 실행 중일 때 일반 터미널 아이콘이 표시됩니다.


빠른 질문-기본 창을 시작하도록 지시하려면 어떻게합니까? 원래 창을 시작하는 새로운 "한 창"그룹을 만들어야합니까?
drjrm3

나는 당신이 창 그룹으로 시작을 해제 할 수 있다고 생각하지만 아마도 다른 그룹을 사용하는 것이 더 쉬울 것입니다
0942v8653

0

아래의 Applescript를 응용 프로그램으로 저장할 수 있습니다.

저장할 때 열린 상태로 두지 마십시오.

앱으로 저장 될 때이 스크립트. 필요한만큼 창을 구성하고 동일한 위치에서 창을 열 수 있습니다.

스크립트를 여러 번 새 앱으로 저장할 수 있습니다. 서로 다른 터미널 창 세트를 제어하도록 각 앱을 구성하십시오.


스크립트를 실행하면 다음이 수행됩니다.

  • 터미널 윈도우 경계가 windowBounds 속성에 저장되어 있는지 감지

찾지 못하면 일부를 설정하라는 메시지가 표시됩니다.

  • 현재 터미널 창을 저장하려면 를 누르십시오 .

물론 일부 창문이 열려 있어야하므로 아직 열려 있지 않은 경우 :

  • 충돌 없이 터미널 창을 설정하고 다시 앱을 실행합니다.

앱은 실행 된 후에 항상 종료됩니다.

  • 이제 앱을 다시 실행하면 설정 한 것과 같은 위치에 많은 창이 열립니다.

두 번째 기능은 창 설정을 변경할 수 있다는 것입니다.

Shift 키를 누른 상태에서 앱 아이콘을 클릭하여 시작하십시오.

응용 프로그램은 현재 터미널 창을 windowBounds 구성 으로 저장하는 옵션을 제공합니다 . 이전 항목을 덮어 씁니다.


구성이 두 개 이상 있어야합니다. 이를 위해 앱을 확장 할 수 있습니다. 그러나 두 개의 앱을 만들고 다르게 이름을 지정하는 것이 더 간단합니다. 독에 넣으십시오. 따 다 ...

스크립트


    property windowBounds : {}


if windowBounds is {} then


    display()

else
    nowRun()

end if

on display()
    display dialog "Set the current Terminal windows to app. now?" buttons {"Yes", "No"} default button 2
    if the button returned of the result is "Yes" then
        setBounds()

    end if

end display

on nowRun()

    if not isShiftKeyPressed() then
        tell application "Terminal"
            activate
            close windows
            delay 1
            repeat with i from 1 to number of items in windowBounds
                set this_item to item i of windowBounds
                do script "proHelp"
                set bounds of window 1 to this_item
            end repeat
        end tell

    else

        display()

    end if
end nowRun
on setBounds()
    tell application "Terminal"
        set windowBounds to bounds of windows

    end tell


end setBounds

on isShiftKeyPressed()

    return (do shell script "/usr/bin/python -c 'import Cocoa; print Cocoa.NSEvent.modifierFlags() & Cocoa. NSShiftKeyMask > 1'") is "True"
end isShiftKeyPressed

업데이트 2.

움직이는 close windows

에서 nowRun()핸들입니다.

터미널이 실행 중인지 여부에 관계없이 앱을 사용할 수 있습니다. 이제 현재 열려있는 모든 창을 닫고 구성된 창을 불러옵니다.

터미널을 처음 시작하고 기본 창을 열 때 편리합니다.

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