Tell me more ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Does OS X provide an easy way to bind key combinations to commands which are typically run on the command line?

For example, is there some way to assign ⌘L as a global shortcut for /System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine?

share|improve this question

2 Answers

up vote 7 down vote accepted

Yes, you can do this with Applescript or Automator.

The way I've done things like this is to use Automator to create a Service that is available in all applications. A service can be made to run a bash/zsh/ruby/whatever script. Then you can bind a key combination to the service in the Keyboard pane of system preferences.

Near the end of this MacBreak podcast this procedure is shown in detail.

Edit: I just noticed you're not using Snow Leopard. I don't think creating a system-wide service is as easy with 10.5.8. I guess you can't upgrade since it's a Powerbook. You might want to look into FastScripts which allows you to assign keyboard shortcuts to applescripts (free to use for up to 10 keyboard shortcuts) and use the following Applescript:

do shell script "/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine"
share|improve this answer

I currently use FastScripts. It includes all scripts in ~/Library/Scripts/, so you don't have to add files manually. It also supports application-specific scripts and it waits until modifier keys are released before running AppleScripts with key code or keystroke commands.

In Alfred 2 you can make a workflow like this:

Hotkeys have a short delay unless you change the trigger behavior:

Other applications that can be used to assign shortcuts to scripts:

You could also create an Automator service:

  • Open Automator and choose the Service template
  • Check that the input type and application scope are correct
  • Add a Run Shell Script or Run AppleScript action
  • Paste the script and save the service
  • Assign a shortcut in the Keyboard preference pane

There is a bug in 10.7 and 10.8 where the shortcuts for services don't always work until you hover over the services menu from the menu bar. Shortcuts for services don't work when the frontmost application doesn't have a menu bar or a services menu. There is also a short delay before services are run.

share|improve this answer
Impressive list of tools. – Daniel Beck Mar 31 '11 at 16:57
open -a ScreenSaverEngine is even a tad shorter. – koiyu Apr 13 '11 at 20:13
+1 for the heads-up about the delay bug. – MarkHu Mar 8 at 19:16

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.