Tecla de atalho global para mostrar / ocultar um aplicativo específico no OS X? [duplicado]

10

Possível duplicação:
inicie um aplicativo OS X com um atalho de teclado

É possível definir uma tecla de atalho global para mostrar / ocultar um aplicativo específico no OS X?

Por exemplo, eu quero poder mostrar / ocultar o Safari com Cmd+ Space.

Roman Dolgiy
fonte
Relacionado a Iniciar um aplicativo OS X com um atalho de teclado - Superusuário . Editei minha resposta para essa pergunta para incluir aplicativos de terceiros que suportam acionadores de estilo mostrar ou ocultar. Também adicionei um AppleScript para mostrar ou ocultar um aplicativo.
Lri

Respostas:

7

Abra o Automator , selecione para criar um Serviço , configure para que ele não receba entrada em nenhum aplicativo .

Na biblioteca, clique duas vezes em Utilitários »Executar AppleScript e digite o seguinte na área de texto grande:

on run {input, parameters}

    tell application "System Events"
        set names to name of application processes
        if names contains "Safari" then
            tell application process "Safari"
                if visible then
                    set visible to false
                else
                    # use the following to simply have it reappear:
                    set visible to true
                    # use the following to focus Safari:
                    tell application "Safari" to activate
                end if
            end tell
        else
            display dialog "Safari is not running"
        end if
    end tell

    return input
end run

Salve com qualquer nome. Atribua um atalho de teclado em Preferências do sistema »Teclado» Atalhos de teclado »Serviços . Lembre-se de desativar o atalho do Spotlight Cmd-Space.

Daniel Beck
fonte
2
Em vez de display dialog, você pode alternativamente tell application "Safari" to activateiniciá-lo se não estiver em execução.
Daniel Beck
3

Salvar no AppleScript Editor e atribuir um atalho para executar um script no OS X

tell application (path to frontmost application as text)
    if name is "TextEdit" then
        set bid to id
        tell application "System Events" to tell (process 1 where bundle identifier is bid)
            set visible to false
        end tell
    else
        tell application "TextEdit"
            reopen
            activate
        end tell
    end if
end tell
  • Se o aplicativo de destino estiver atualmente na frente, oculte-o
  • Caso contrário, ative-o
Lri
fonte
O comportamento desse script é o seguinte: Se o TextEdit for o aplicativo mais frontal, ele será oculto, caso contrário, será trazido para a frente. Portanto, esse script não ocultará o aplicativo se estiver visível, mas não estiver na frente, trazendo-o para a frente.
Daniel Beck
Comportamento inteligente. Só estava faltando a explicação de como o atalho se comporta na sua postagem - acho que isso seria útil.
Daniel Beck
Obrigado! Eu marquei a resposta de Daniel como ele foi o primeiro.
Roman Dolgiy
-3

CMD + W oculta as janelas. Isso funciona globalmente. No entanto, para voltar a eles, você precisa clicar nos ícones do dock. No entanto, em um navegador, a guia será fechada.

Aleksandr Vysockij
fonte
Não. Cmd + W fecha as janelas.
Daviesgeek 25/09
Além disso, o usuário pergunta sobre aplicativos , não janelas . No OS X, há muita diferença.
Daniel Beck