¿Tecla de acceso directo global para mostrar / ocultar una aplicación específica en OS X? [duplicar]

8

Posible duplicado:
inicie una aplicación OS X con un atajo de teclado

¿Es posible definir una tecla de acceso rápido global para mostrar / ocultar una aplicación específica en OS X?

Por ejemplo, quiero poder mostrar / ocultar Safari con Cmd+ Space.

Dolgiy romano
fuente
Relacionado con Iniciar una aplicación OS X con un atajo de teclado: Superusuario . Edité mi respuesta a esa pregunta para incluir aplicaciones de terceros que admitan activadores de estilo de mostrar u ocultar. También agregué un AppleScript para mostrar u ocultar una aplicación.
Lri

Respuestas:

7

Abra Automator , seleccione para crear un Servicio , configúrelo para que no reciba ninguna entrada en ninguna aplicación .

Desde la biblioteca, haga doble clic en Utilidades »Ejecutar AppleScript e ingrese lo siguiente en el á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

Guardar bajo cualquier nombre. Asigne un método abreviado de teclado en Preferencias del sistema »Teclado» Métodos abreviados de teclado »Servicios . Recuerde deshabilitar el acceso directo de Spotlight Cmd-Space.

Daniel Beck
fuente
2
En lugar de display dialog, podría tell application "Safari" to activatelanzarlo alternativamente si no se está ejecutando.
Daniel Beck
3

Guardar en AppleScript Editor y asignar un acceso directo para ejecutar un script en 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
  • Si la aplicación de destino está actualmente en primer plano, escóndela
  • De lo contrario, actívelo
Lri
fuente
El comportamiento de este script es el siguiente: si TextEdit es la aplicación principal, se ocultará; de lo contrario, se mostrará al frente. Por lo tanto, este script no ocultará la aplicación si está visible pero no en primer plano, sino que la llevará al frente.
Daniel Beck
Comportamiento inteligente Solo me faltaba la explicación de cómo se comporta el acceso directo en su publicación; creo que esto sería útil.
Daniel Beck
¡Gracias! He marcado la respuesta de Daniel como él fue el primero.
Roman Dolgiy
-3

CMD + W ocultará ventanas. Esto funciona a nivel mundial. Sin embargo, para volver a ellos, debe hacer clic en los iconos del dock. Sin embargo, en un navegador cerrará la pestaña.

Aleksandr Vysockij
fuente
No. Cmd + W cierra las ventanas.
daviesgeek
Además, el usuario pregunta por las aplicaciones , no por las ventanas . En OS X, hay mucha diferencia.
Daniel Beck