You can try something like, first copying the text to your clipboard, that you want inserted into Terminal, then have the AppleScript code paste the clipboard into Terminal.
tell application "Terminal"
activate
tell application "System Events"
tell application process "Terminal"
set frontmost to true
repeat while not frontmost
delay 0.1
end repeat
end tell
keystroke "v" using {command down}
end tell
end tell
If you have all of your Terminal windows set to open in tabs rather than separate windows, this following AppleScript code should account for any of the situations as mentioned by @user3439894 in his comment to your post.
tell application "Terminal"
activate
repeat until frontmost
delay 0.5
end repeat
set windowCount to count of window
if windowCount is not 0 then
tell its front window
set isMinimized to miniaturized
end tell
end if
if windowCount is 0 then
tell application "System Events" to tell application process "Terminal"
set frontmost to true
repeat while not frontmost
delay 0.1
end repeat
keystroke "n" using {command down}
delay 1
keystroke "v" using {command down}
end tell
else
activate
repeat until frontmost
delay 0.5
end repeat
delay 0.1
if ((processes of selected tab of front window) is {} or isMinimized) then
tell application "System Events" to tell application process "Terminal"
set frontmost to true
repeat while not frontmost
delay 0.1
end repeat
keystroke "n" using {command down}
delay 1
keystroke "v" using {command down}
end tell
else
tell application "System Events" to tell application process "Terminal"
set frontmost to true
repeat while not frontmost
delay 0.1
end repeat
delay 0.5
keystroke "v" using {command down}
end tell
end if
end if
end tell
using {}
does absolutely noting and if you're not using a modifier, it's not necessary. Also, Terminal's AppleScript Dictionary does not have or understand thewrite
command; however, iTerm2 does: write v : Send text as though it was typed. BTW If Terminal is already running without a window or with a window minimized,activate
will not cause a window to be created or unminimized a minimized window and the rest of you code will fail, so you need to code for these possibilities. Also, ⌘T is already a default shortcut in Terminal. – user3439894 Aug 19 '19 at 19:44