17 votos

Crear un comando para enfocar una ventana específica desde cualquier parte del SO

Mientras desarrollo para la web, tiendo a saltar mucho entre mi editor de texto y el navegador. Me gustaría establecer un atajo de teclado a nivel del sistema operativo que me permita saltar a una ventana específica y definible cada vez. Incluso mejor sería la capacidad de emitir una orden a esa aplicación para ejecutar algo, pero lo dejaré para más adelante.

¿Hay tecnologías disponibles que me permitan hacer esto? Debe haber algo entre C y AppleScript que me permita crear este tipo de interacción. ¿Alguien sabe por dónde empezar?

Gracias.

14voto

Puedes hacer algo así con AppleScript:

tell application "Terminal"
    activate
    windows where name contains "bash"
    if result is not {} then set index of item 1 of result to 1
end tell

O utilizando los Eventos del Sistema:

tell application "System Events" to tell process "Terminal"
    set frontmost to true
    windows where title contains "bash"
    if result is not {} then perform action "AXRaise" of item 1 of result
end tell

6voto

Abhi Puntos 111

Tuve muchos problemas para conseguir que esto funcionara con iTerm2. Aquí está la solución de un solo comando:

  osascript -e 'tell application "System Events" to tell process "iTerm2"' \
            -e 'set frontmost to true' \
            -e 'if windows is not {} then perform action "AXRaise" of item 1 of windows' \
            -e 'end tell'

2voto

UnkwnTech Puntos 21942

Deberías probar Automator. Podrías "Grabar" un nuevo servicio (que luego puedes publicar para todas las Apps y asignar un Atajo de Teclado), que haga clic en la aplicación desde el Dock. De hecho, podrías añadir más acciones y realizar tu "dile a esa aplicación que ejecute algo".

He intentado crear uno (que es relativamente inútil pero funciona) que hace clic en Mail en mi Dock, luego hace clic en el recibir nuevo correo en la barra de herramientas. Divertido ;)

Adjunto la captura del resultado de Automator:

Automator

Utilicé el Registro en la esquina superior derecha y luego hice las acciones yo mismo (hice clic en el icono del muelle de Mail, luego hice clic en el icono de Obtener nuevo correo de Mail en la barra de herramientas, luego hice clic en "Detener la grabación"). Observe que he seleccionado "El servicio recibe [sin entrada]" en el primer cuadro combinado, ya que no me interesaba ninguna entrada.

Esto le da múltiples posibilidades de tener un par de servicios que van de ida y vuelta a su TextEditor y su Navegador.

Automator se encuentra utilizando Spotlight y escribiendo Automator (también se encuentra en /Applications/Automator.app)

En este caso he creado un nuevo "Servicio" pero probablemente podrías salirte con la tuya creando "scripts". No estoy seguro de cuál sería más rápido, sin embargo. Experimenta. Automator es tu amigo.

1voto

devmake Puntos 101

Yo uso BetterTouchTool para configurar diferentes atajos de teclado o gestos del trackpad en Mac OS X. Una de las acciones que puede lanzar es Ejecutar comando de terminal

Así que en la configuración del comando proporciono lo siguiente:

osascript -e 'tell application "NameOfTheApplicationHere" to activate'

Aquí hay un ejemplo de las preferencias de BetterTouchTool:

enter image description here

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X