Skip to content

Instantly share code, notes, and snippets.

@dragon788
Forked from pdanford/README.md
Created June 27, 2017 15:26
Show Gist options
  • Select an option

  • Save dragon788/34e9a9945b70dfcc49c6b9f5a202e43c to your computer and use it in GitHub Desktop.

Select an option

Save dragon788/34e9a9945b70dfcc49c6b9f5a202e43c to your computer and use it in GitHub Desktop.
Applescript to launch iTerm2 Version 3+ from OS X Finder via keyboard shortcut or Toolbar

Description

Based on info from http://peterdowns.com/posts/open-iterm-finder-service.html but with modified behavior and fixed to work with iTerm2 Version 3+. It will not work with older versions of iTerm. The modified behavior is to open a new terminal window for each invocation instead of reusing an already open window.

To open iTerm at selected folder with keyboard shortcut

  1. Run Automator, select a new Service
  2. Select Utilities -> Run AppleScript
  3. Service receives selected 'folders' in 'finder.app'
  4. Paste script:
    on run {input, parameters}
        tell application "Finder" to set dir_path to quoted form of (POSIX path of (first item of (get selection as alias list) as alias))
        CD_to(dir_path)
    end run
    
    on CD_to(theDir)
        tell application "iTerm"
            activate
            set win to (create window with default profile)
            set sesh to (current session of win)
            tell sesh to write text "cd " & theDir & ";clear"
        end tell
    end CD_to
    
  5. Save as 'Open iTerm at Folder'
  6. Open Keyboard in System Preferences. Under Shortcuts -> Services -> Files and Folders check 'Open iTerm at Folder' (with desired keyboard shortcut - e.g. control-option-command-T)

To make an Automator App that can reside on the Finder toolbar to open an iTerm window at the current directory

  1. Run Automator, select new Application
  2. Select Utilities -> Run AppleScript
  3. Paste script:
    on run {input, parameters}
        tell application "Finder"
            set dir_path to quoted form of (POSIX path of (folder of the front window as alias))
        end tell
        CD_to(dir_path)
    end run
    
    on CD_to(theDir)
        tell application "iTerm"
            activate
            set win to (create window with default profile)
            set sesh to (current session of win)
            tell sesh to write text "cd " & theDir & ";clear"
        end tell
    end CD_to
    
  4. Save as 'iTermOpenScript.app' somewhere out of the way
  5. Drag and drop the 'iTermOpenScript.app' onto the Finder toolbar while holding down the Option and Command keys

pdanford - Jul 2016

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