Skip to content

Instantly share code, notes, and snippets.

@ttimasdf
Forked from eric-hu/Open iterm tab here
Last active March 1, 2020 17:49
Show Gist options
  • Save ttimasdf/7bb02ed419db4b472b534e1a57008a3b to your computer and use it in GitHub Desktop.
Save ttimasdf/7bb02ed419db4b472b534e1a57008a3b to your computer and use it in GitHub Desktop.
Apple script to open an iterm2 tab from right-clicking on a file or folder in Finder.To use:(1) Open Automator(2) Create a new service(3) Change "Service receives selected" drop downs to "Files or folders" in "Finder"(4) Select "Run applescript" from the sidebar, then paste this script in and save
-- Adapted from these sources:
-- http://peterdowns.com/posts/open-iterm-finder-service.html
-- https://gist.github.com/cowboy/905546
--
-- Modified to work with files as well, cd-ing to their container folder
on run {input, parameters}
tell application "Finder"
set my_file to first item of input
set is_folder to (do shell script "file -b " & quoted form of (POSIX path of my_file))
if is_folder ends with "directory" then
set dir_path to quoted form of (POSIX path of my_file)
else
set dir_path to quoted form of (POSIX path of (container of my_file as string))
end if
end tell
CD_to(dir_path)
end run
on CD_to(theDir)
tell application "iTerm"
activate
set go_dir to "cd " & theDir
try
set newWindow to current window
on error
set newWindow to (create window with default profile)
end try
tell newWindow
tell current session of (create tab with default profile)
write text go_dir
end tell
end tell
end tell
end CD_to
@nw4869
Copy link

nw4869 commented Nov 6, 2017

Works! Thanks.

@ttimasdf
Copy link
Author

Sorry, comments in Gists does not received any notifications.

For those who still receiving errors(this script WFM for years till now, 10.13), follow the instruction in the descriptions, most importantly change "Service receives selected" drop downs to "Files or folders" in "Finder" so that my_file variable would correctly set by right click on finder item.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment