도크에는 매일 사용하는 터미널 바로 가기가 있습니다. Macbook Pro에 대한 모니터 설정 (추가, 추가 2 개 등)에 따라 다른 시작 구성표 (4 개 창 또는 5 개 창)를 사용하고 싶습니다.
도크에 2 개 이상의 터미널 런처를 설치하는 방법이 있습니까? 하나는 "4 개의 창"설정을 시작하고 다른 하나는 "5 개의 창"설정을 시작합니까?
도크에는 매일 사용하는 터미널 바로 가기가 있습니다. Macbook Pro에 대한 모니터 설정 (추가, 추가 2 개 등)에 따라 다른 시작 구성표 (4 개 창 또는 5 개 창)를 사용하고 싶습니다.
도크에 2 개 이상의 터미널 런처를 설치하는 방법이 있습니까? 하나는 "4 개의 창"설정을 시작하고 다른 하나는 "5 개의 창"설정을 시작합니까?
답변:
터미널의 시작 창 그룹을 자동으로 전환하는 방법은 다음과 같습니다.
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이 실행 중일 때 일반 터미널 아이콘이 표시됩니다.
아래의 Applescript를 응용 프로그램으로 저장할 수 있습니다.
저장할 때 열린 상태로 두지 마십시오.
앱으로 저장 될 때이 스크립트. 필요한만큼 창을 구성하고 동일한 위치에서 창을 열 수 있습니다.
스크립트를 여러 번 새 앱으로 저장할 수 있습니다. 서로 다른 터미널 창 세트를 제어하도록 각 앱을 구성하십시오.
스크립트를 실행하면 다음이 수행됩니다.
찾지 못하면 일부를 설정하라는 메시지가 표시됩니다.
물론 일부 창문이 열려 있어야하므로 아직 열려 있지 않은 경우 :
앱은 실행 된 후에 항상 종료됩니다.
두 번째 기능은 창 설정을 변경할 수 있다는 것입니다.
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()
핸들입니다.
터미널이 실행 중인지 여부에 관계없이 앱을 사용할 수 있습니다. 이제 현재 열려있는 모든 창을 닫고 구성된 창을 불러옵니다.
터미널을 처음 시작하고 기본 창을 열 때 편리합니다.