Last active
May 30, 2023 14:42
-
-
Save johnfmorton/e97298dfc57d6f1ad0e295973323da4b to your computer and use it in GitHub Desktop.
Use Transmit 5 to open in iTerm (instead of Terminal.app) as mentioned here https://library.panic.com/transmit5/open-in-terminal/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
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.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks @johnfmorton.