teleport/client/tp_assist_macos/apple-scripts/scripts/iTerm2.applescript

71 lines
1.7 KiB
AppleScript

on scriptRun(argsCmd, argsProfile, argsTitle)
set theCmd to (argsCmd)
set theProfile to (argsProfile)
set theTitle to (argsTitle)
CommandRun(theCmd, theProfile, theTitle)
end scriptRun
on CommandRun(theCmd, theProfile, theTitle)
tell application "iTerm"
if it is not running then
tell application "iTerm"
activate
delay 0.2
try
close first window
end try
end tell
tell application "iTerm"
try
create window with profile theProfile
on error msg
create window with profile "Default"
end try
tell the current window
tell the current session
set name to theTitle
set profile to theProfile
write text theCmd
end tell
end tell
end tell
else
--assume that iTerm is open and open a new tab
try
tell application "iTerm"
activate
tell the current window
try
create tab with profile theProfile
on error msg
create tab with profile "Default"
end try
tell the current tab
tell the current session
set name to theTitle
write text theCmd
end tell
end tell
end tell
end tell
on error msg
--if all iTerm windows are closed the app stays open. In this scenario iTerm has no "current window" and will give an error when trying to create the new tab.
tell application "iTerm"
try
create window with profile theProfile
on error msg
create window with profile "Default"
end try
tell the current window
tell the current session
set name to theTitle
write text theCmd
end tell
end tell
end tell
end try
end if
end tell
end CommandRun