Add a KDE like "Open Terminal here" command to Mac Finder

2011 edit

As of Mac OS X 10.7 (Lion),  this can now be done as a Service (not exactly like KDE, but better than nothing). Go to:

System Preferences > Keyboard > Keyboard Shortcuts > Services

Then check the box to enable “New Terminal at Folder”

Then when you are in the Finder and want to open a terminal right there, right click on the folder name and at the bottom of the menu you will see the “New Terminal” link. You can also  drag the folder and drop it onto the terminal icon.

————– 2009 post ————

Before OSX came along, making the Mac usable, I was always mainly a Linux user and became very used to the KDE and Gnome UI and features. When getting into the OSX, I really missed certain things and just had to figure out how to add em, to be comfortable. This is one big one. Though I usually use a Shell and Midnight Commander to get around in my Linux systems, from time to time I would end up in the KDE GUI File browser thing, and end up using their cool “Open a terminal here” command, to get to the Shell and do stuff. Since we are mostly in a GUI environment when using OSX, this feature was killing me. But, there is a simple way to add this thanks to the Automator and Apple Script. Here is what I found (though I do not remember where) when looking at how to do this.

  • Launch Automator
  • Create a new Workflow (or a new Service if using Snow Leopard)
  • (If in Snow Leopard, at the top of choose “Folders” from the first select control, and “Finder” from the second)
  • Choose Finder, then drag “Get Selected Finder Items” to the work area (under “Files and Folders” in Snow Leopard or use the search feature to search for “Get Selected Finder Items”)
  • Choose Applications, then drag “Run Apple Script” toe the work area below the Finder action you just added.(in Utilities in Snow Leopard, or you can use the search feature to search for “Run Apple Script”)
  • Replace the default Apple Script it generates for you, with the following
    on run {input, parameters}
    
    	tell application "Finder"
    		set winOne to window 1
    		set winOnePath to (quoted form of POSIX path of (target of winOne as alias))
    		tell application "Terminal"
    			activate
    			tell window 1
    				do script "cd " & winOnePath
    			end tell
    		end tell
    	end tell
    
    	return input
    end run
  • Then from the Automator menu, choose “File”, then “Save As”. If not Snow Leopard then you have a workflow and need to save it to the place the OS can pick it up, so if not already defaulting to this location, navigate to:
    [user home]/Library/Workflows/Applications/Finder

    and name the file something that you want the Menu to show when you go to use this new Automator command (I used “term-here” for instance)

    But if you are in Snow Leopard, then you have a service and “Save-As” only prompts you for a name. I entered “term-here”.

Once these steps are completed and the file saved, you should be able to open the Finder, navigate to a directory you wish to open a Terminal in, right click in the directory, choose “Automator” and see you new command there. Choosing the command should pop up a new Terminal with the working directory set to the directory you were in.

NOTE, of course if you are on Snow Leopard it is different. Here you need to choose the dir you want with the pointer and right click. To get the current directory, I choose to view the path bar from the Finder’s View menu, and then I can choose the dir I am in and click. I also created a keyboard shortcut for it. To create a keyboard shortcut, when in the Finder, choose Services from the Finder menu, then Services Preferences, then scroll down to find your new service. Click into the white space to the right of your service to get the entry box for your shortcut, and then use the keys you want to be the shortcut, as if you were trying to launch it right now, and it will store them in the box for you.

Enjoy

j

Advertisements

About Jayson
Father, mountain biker, Software developer at a wire service, and also work with the IPTC (iptc.org)

2 Responses to Add a KDE like "Open Terminal here" command to Mac Finder

  1. Joel Atkin says:

    Hi,

    Thanks for the info… exactly what I was looking for. I had to modify the script to only open one window in Terminal, though (using Snow Leopard?!?). Here it is:

    on run {input, parameters}

    tell application "Finder"
    set winOne to window 1
    set winOnePath to (quoted form of POSIX path of (target of winOne as alias))
    if (count (processes whose name is "Terminal")) is 0 then
    tell application "Terminal"
    activate
    do script "cd " & winOnePath in window 1
    end tell
    else
    tell application "Terminal"
    activate
    do script "cd " & winOnePath
    end tell
    end if
    end tell

    return input
    end run

    • Jayson says:

      Thanks that rocks. The indentation got lost in the comment but I will take this and add a section to the post later (and mention it is your contribution)

      j

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: