Abra una nueva ventana de terminal en el espacio actual, independientemente de otras terminales abiertas en otros espacios

14

Al usar Spaces en Mac OS X, intentar abrir una nueva instancia de terminal da como resultado que el foco se dirija a cualquier espacio que tenga la ventana de terminal a la que se accedió más recientemente. Con Finder puedo hacer clic en el Escritorio y luego usar - Npara crear una nueva ventana de Finder. Lo que estoy buscando es un método para realizar la misma función para las ventanas de Terminal.

¿Cómo puedo crear una nueva instancia de Terminal en el espacio actual, independientemente de si hay otra instancia de Terminal en uno o más espacios?

Gracias.

Mark Nichols
fuente
Me gusta la pregunta, pero creo que debería estar en superusuario.

Respuestas:

4

Puede crear un nuevo servicio usando el automatizador (desde la carpeta de aplicaciones). En la parte superior de la ventana del automatizador, ingrese: El servicio recibe 'ninguna entrada' en 'cualquier aplicación'. Luego, en el flujo de trabajo, agregue 'Ejecutar AppleScript'. Haga que el applecript contenga lo siguiente:

on run {input, parameters}

    tell application "Terminal"
        do script ""
        activate
    end tell

    return input
end run

(Puede agregar cualquier comando que desee en la línea de script do entre "" (por ejemplo, algo útil para ejecutar cuando el terminal se abre por primera vez, uptimesi lo desea, o simplemente dejarlo en blanco).

Guarde el servicio como 'Terminal abierta' o el nombre que desee. Ahora debería aparecer en el menú de servicios.

Luego, si desea agregar un atajo de teclado, solo tiene que ir a Preferencias del sistema -> Teclado -> pestaña Atajos de teclado, seleccionar servicios en el menú de la izquierda y encontrar su nuevo servicio (probablemente esté en la parte inferior). Simplemente haga clic en el espacio a la derecha del nombre de su servicio, asígnele el atajo de teclado que desee y ¡listo! todo debería funcionar

tmdavison
fuente
1
Cabe señalar que esto realmente proporciona la funcionalidad solicitada. Como edición menor, necesita la do shell script " "línea para que abra una nueva ventana en el espacio actual, pero no es necesario que el script de shell sea un espacio en blanco. Si es un espacio en blanco, hace que la Terminal ejecute el espacio en blanco como un comando, lo que genera demoras en la ejecución y una línea extraña en la nueva ventana de la Terminal. Simplemente conviértalo en una cadena completamente vacía: do shell script ""y luego abre una nueva ventana de Terminal pero no emite ningún comando en ella.
Dakota
Sí, tienes razón. He actualizado la respuesta para eliminar el espacio entre las comillas. Sin embargo, para que funcione debe ser do script "", y no do shell script "", como sugirió
@dakota
3

En las asignaciones de la aplicación en Preferencias del sistema -> Espacios, configure Terminal en "Cada espacio" o elimine la entrada. Entonces no debería ser un problema abrir una nueva ventana de Terminal donde lo desee, por ejemplo, haciendo clic en el menú contextual del dock "Nueva ventana" (funciona incluso si tiene el "Al cambiar a una aplicación, cambie al espacio con ventanas abiertas desde ese punto "aplicación habilitada").

wm
fuente
La primera oración es irrelevante, por lo que puedo decir. Establecerlo en "Todos los espacios" aún cambia el espacio al abrir una nueva ventana a través de algo como AppleScript o una combinación de teclas, y el menú contextual del dock nunca cambia el espacio independientemente de esta configuración. La única cosa interesante en esta respuesta es la opción "Al cambiar a una aplicación, cambiar al espacio con ventanas abiertas desde esa aplicación". Deshabilitarlo "arregla" el caso de combinación de teclas / AppleScript, pero desafortunadamente "rompe" la pestaña de comandos. Si tan solo OS-X tuviera una combinación de teclas adecuada de "ciclo de ventanas" que funcionara en todas las ventanas en todas las aplicaciones en todos los espacios.
Laurence Gonsalves
@LaurenceGonsalves, puede recorrer todas las ventanas de Terminal en todos los Espacios con la Flecha de Comando Izquierda / Derecha. ¿Eso ayuda?
Chris Page
@Chris Ese es un conjunto interesante de atajos, gracias, pero no resuelven el problema al que me refiero. Si la configuración "Al cambiar a una aplicación ..." está deshabilitada y está en un espacio sin ventanas de Terminal y la pestaña de comando a "Terminal" no cambia a un espacio que tiene una ventana de Terminal, y Comando de retroceso no hará nada. Sorprendentemente, la flecha de comando izquierda / derecha tampoco hace nada en este caso (al menos en Snow Leopard). Esas teclas alternarán entre ventanas a través de espacios si una ventana en la aplicación actual tiene el foco, pero si ninguna ventana tiene el foco, no harán nada.
Laurence Gonsalves
2
tell application "Terminal"
    do script ""
    activate
end tell

Para que esto funcione en Lion, escriba lo anterior en una nueva ventana de AppleScript y guárdelo. Invoque el script a través de un lanzador de comandos como QuickSilver o asígnelo a un atajo de teclado. Esto debería funcionar, incluso si ha configurado la opción "Al cambiar a una aplicación, cambie a un espacio con ventanas abiertas para la aplicación" habilitada en Mission Control. El truco es hacer el comando de activación al final, en lugar de al principio.

Stefan Ludwig
fuente
Alternativamente, cree un Servicio usando Automator y actívelo usando un atajo de teclado configurado en Preferencias del Sistema: apple.stackexchange.com/a/13655/36722
Dakota
0

Si usa el menú del dock para abrir una nueva ventana, se abre en el espacio actual.


fuente
¿Hay alguna manera de hacer esto desde el teclado?
Laurence Gonsalves
Control-F3 es "Mover el foco al Dock". Puede usar las teclas de flecha para navegar por el menú de iconos del Dock de Terminal. También puede escribir para seleccionar elementos de menú por nombre, por ejemplo, escriba "N" o "Nueva W". Consulte Preferencias del sistema> Teclado> Métodos abreviados de teclado > Teclado y entrada de texto para ver todos los métodos abreviados de teclado para seleccionar y navegar por la interfaz de usuario.
Chris Page
Es posible hacer esto. Debe
Dakota
0

Puede deshabilitar los espacios de cambio de OSX automáticamente cuando cambie de aplicación utilizando los siguientes comandos:

defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock

Funciona en 10.6.8

OrangeBox
fuente
También hay una configuración de GUI para esto, está en "Control de misión".
SilverWolf - Restablece a Mónica el