É muito fácil no OS X 10.6 Snow Leopard, criando um novo serviço. Isso não é suportado em versões anteriores do OS X. Por exemplo:
- Iniciar aplicativos »Automator.
- Selecione "Serviço" para o modelo do novo fluxo de trabalho do Automator.
- Na parte superior do painel direito, selecione "O serviço recebe nenhuma entrada em qualquer aplicativo ".
- Arraste a ação "Executar AppleScript" do painel esquerdo para o fluxo de trabalho no painel direito.
-
Substitua o padrão por:
on run {input, parameters} tell application "Safari" activate open location "http://superuser.com/" end tell return input end run
Opcional:cliquenobotãoExecutarparatestar.
- PressioneCmd-Sparasalvar.OnomequevocêdigitaseráonomenomenuServiços.Ofluxodetrabalhoserásalvoem
~/Library/Services
.
Ou,paraqueoaplicativopadrãoabraoarquivoouolocal†:
- Emvezdearrastaraação"Executar AppleScript" para o fluxo de trabalho, use "Executar Shell Script".
- Deixe o Shell em seu padrão "/ bin / bash" e substitua o comando padrão
cat
por:open "http://superuser.com"
ouopen "/Developer/Examples/OpenGL/Cocoa/CocoaGL/CocoaGL.xcodeproj"
Para atribuir um atalho de teclado , em 10.6:
- Abra as Preferências do Sistema »Painel» Teclado »Atalhos de Teclado.
- Selecione "Serviços" no painel esquerdo.
- Desça até Geral no painel direito.
- Clique duas vezes à direita do fluxo de trabalho do Automator que você acabou de criar.
- Pressione as teclas que você deseja usar (e, se aplicável, remova as associações existentes se receber um aviso "Atalho usado por outra ação") e alterne os painéis para garantir que o novo atalho seja salvo.
Infelizmente, parece que desta forma os Serviços não podem receber uma tecla de função (a tecla é exibida, mas permanece no "modo de edição" e, ao clicar em outro lugar, é perdida, diferente da atribuição teclas de função para coisas internas como Exposé, ou ao adicionar um atalho de aplicativo).
Para atribuir uma tecla de função, existem duas opções:
-
Suponha que a maioria dos aplicativos tenha um menu Serviços e, portanto, encontre o nome que aparece lá. Portanto, se o serviço for denominado "Abrir Super Usuário", mapeie o item de menu Serviços »Abrir Super Usuário:
- Abra as Preferências do Sistema »Painel» Teclado »Atalhos de Teclado.
- Selecione "Atalhos de aplicativos" no painel esquerdo.
- Selecione "Todos os aplicativos" no painel à direita.
- Adicione uma entrada para o nome exato "Open Super User" e atribua alguma tecla de função.
-
Ou use a linha de comando:
- Encontre seu código de chave hexadecimal: F1 =
\UF704
, F2 =\UF705
, ..., F6 =\UF709
, F7 =\UF70A
, etc . - Prefixo isso com qualquer combinação de
@
para Command,^
para Ctrl,~
para Option e$
para Shift. -
Abra o Terminal. Se o nome do serviço for
Open Super User
, para mapear esse serviço para F1, execute:defaults write pbs NSServicesStatus -dict-add \ '"(null) - Open Super User - runWorkflowAsService"' \ '{ "key_equivalent" = "\UF704"; }'
Ou para Command-Shift-F12:
'{ "key_equivalent" = "@$\UF70F"; }'
-
Para tornar todos os aplicativos em execução conscientes da alteração que você fez usando o Terminal:
- Feche as Preferências do sistema, se já estiverem sendo executadas.
- Encontre seu novo serviço no painel Preferências do sistema »Teclado» Atalhos de teclado como descrito acima.
- Desative e reative sua caixa de seleção para tornar todos os aplicativos conscientes da alteração.
- Encontre seu código de chave hexadecimal: F1 =
† Deve haver alguma versão do AppleScript disso também, mas eu não sou especialista ... Alguém?