-
-
Save johnfmorton/e97298dfc57d6f1ad0e295973323da4b to your computer and use it in GitHub Desktop.
| on openTerminal(location, remoteHost, serverPort) | |
| tell application "System Events" | |
| -- some versions might identify as "iTerm2" instead of "iTerm" | |
| set isRunning to (exists (processes where name is "iTerm")) or (exists (processes where name is "iTerm2")) | |
| end tell | |
| tell application "iTerm" | |
| activate | |
| set targetTab to "" | |
| set sshCommand to "" | |
| if ((count of remoteHost) is greater than 0) then | |
| set cdCommand to " 'cd \"" & location & "\"; eval \"$SHELL -il\"'" | |
| set sshCommand to "ssh -t " & "'" & remoteHost & "'" | |
| else | |
| set cdCommand to "cd \"" & location & "\"" | |
| end if | |
| if (serverPort is greater than 0) then | |
| set sshCommand to sshCommand & " -p " & serverPort | |
| end if | |
| set sshCommand to sshCommand & cdCommand | |
| set hasNoWindows to ((count of windows) is 0) | |
| if isRunning and hasNoWindows then | |
| create window with default profile | |
| end if | |
| select first window | |
| tell the first window | |
| if isRunning and hasNoWindows is false then | |
| create tab with default profile | |
| end if | |
| if ((count of sshCommand) is greater than 0) then | |
| tell current session to write text sshCommand | |
| end if | |
| end tell | |
| end tell | |
| end openTerminal |
Thanks @johnfmorton.
BugFix:
- This script has a minor bug - resulting in not executing the cd command for local terminal.
- Here is a fixed (& maintained version):
- https://gist.github.com/donraj/86ee3507bd9ef37c5cc3b358264fc23f
-
- The new script is easier to comprehend.
Thanks @johnfmorton! I'm fairly a newbie, how do I implement this?
Updated per @aviman1109.
@igormakovsky, Check out the instructions at https://library.panic.com/transmit/transmit5/open-in-terminal/. Basically, you need to save the script (updated 21JUN2020) to a directory on your Mac. Then run the command mentioned on that page:
$ defaults write com.panic.Transmit OpenTerminalScriptPath ~/Scripts/TransmitOpenTerminal.txt
That tells Transmit to user your custom script instead of the one built into Transmit by default.
Hi, there is a way to include the password in the command ?
Is there a wall to pull the User Name from transmit and put it into the Open in Terminal script? I noticed on macos Monterey it wants a username and when I use the default open in terminal script it doesn't show the User Name from transmit.
@aviman1109
thx
it works at transmit 5 and iTerm2.