Cree un comando para enfocar una ventana específica desde cualquier lugar del sistema operativo

10

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 en el nivel del sistema operativo que me permita saltar a una ventana específica y definible cada vez. Aún mejor sería la capacidad de emitir un mensaje a esa aplicación para ejecutar algo, pero lo guardaré 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.

Thomas
fuente

Respuestas:

2

Deberías probar Automator. Puede "grabar" un nuevo servicio (que luego puede publicar para todas las aplicaciones y asignar un acceso directo de teclado), que hace clic en la aplicación desde el Dock. De hecho, podría agregar más acciones y realizar su "decirle a esa aplicación que ejecute algo".

Intenté crear uno (que es relativamente inútil pero funciona) que hace clic en Correo en mi Dock, luego hace clic en el icono de obtener nuevo correo en la barra de herramientas. Divertido ;)

Adjunto está la foto del resultado del Automator:

Automator

Utilicé el botón Grabar en la esquina superior derecha y luego realicé las acciones por mí mismo (hice clic en el ícono de acoplamiento del Correo, luego hice clic en el icono Obtener correo nuevo en la barra de herramientas, luego hice clic en "Detener grabación"). Tenga en cuenta que he seleccionado "El servicio recibe [sin entrada]" en el primer cuadro combinado, ya que no estaba interesado en ninguna entrada.

Esto le brinda múltiples posibilidades de tener un par de servicios que van y vienen de su TextEditor y su navegador.

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

En este caso, he creado un nuevo "Servicio", pero probablemente podría escapar creando "scripts". No estoy seguro de cuál sería más rápido. Experimentar. Automator es tu amigo.

Martin Marconcini
fuente
5

Puede hacer algo como esto 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 usando 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
Lri
fuente
1

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

Entonces, 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:

ingrese la descripción de la imagen aquí

devmake
fuente
1

Tuve muchos problemas para que esto funcione con iTerm2. Aquí hay una solución de comando único:

  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'
cmcginty
fuente