¿varios lanzadores de terminales en el dock?

0

Tengo un acceso directo de terminal en mi base que utilizo todos los días. Dependiendo de la configuración de mi monitor (extra, 2 extra, etc.) de mi Macbook Pro, me gusta tener un esquema de inicio diferente (ya sea 4 ventanas o 5 ventanas).

¿Hay alguna manera de tener 2 (o más) lanzadores de terminales en el muelle, uno que inicie la configuración de "4 ventanas" y otro que inicie la configuración de "5 ventanas"?

    
pregunta drjrm3 19.02.2015 - 14:34

2 respuestas

0

Aquí se explica cómo puede cambiar el grupo de la ventana de inicio de Terminal automáticamente:

defaults write com.apple.Terminal 'Startup Window Group' 'four-windows'
defaults write com.apple.Terminal 'Startup Window Group' 'five-windows'

( four-windows y five-windows deben reemplazarse con los nombres de grupo de la ventana de Terminal).

Puedes usar AppleScript o Automator para crear una aplicación que haga eso y luego ejecuta Terminal:

-- AppleScript version
do shell script "defaults write com.apple.Terminal 'Startup Window Group' 'four-windows'"
tell app "Terminal" to activate

O puede usar mi script linkapp para crear un nuevo paquete de aplicaciones que haga lo mismo, y el icono se quedará allí.

python linkapp.py /Applications/Utilities/Terminal.app ./term-layout-4.app

Luego, cuando te dé el script de envoltorio, edítalo y agrega la línea de escritura predeterminada por encima de "$executable" .

#!/usr/bin/env bash
executable="$(dirname "$0")/Terminal"

defaults write com.apple.Terminal 'Startup Window Group' 'four-windows'

"$executable" 

Luego puedes hacer lo mismo con tu otro grupo de ventanas. Una advertencia con linkapp.py es que no puede ejecutarlos al mismo tiempo, ya que intentará restaurar sus ventanas.

Si lo deseas, también puedes cambiar el ícono (pero si no usas linkapp.py, el ícono de Terminal normal será lo que aparece en tu Dock y Command + Tab cuando se está ejecutando).

    
respondido por el 0942v8653 19.02.2015 - 17:23
0

Puedes guardar el archivo de Apple como una aplicación.

No establezca permanecer abierto al guardar.

Este script cuando se guarda como una aplicación. Le permitirá configurar tantas ventanas como necesite y abrirlas en las mismas posiciones.

Puede guardar el script cualquier número de veces como nueva aplicación. y configure cada aplicación para controlar diferentes conjuntos de ventanas de Terminal.

Cuando ejecute el script, éste:

  • Detectar si se han guardado los límites de la ventana de la Terminal en su propiedad windowBounds

Si no encuentra ninguno, le pedirá que configure algunos.

  • Presione sí para guardar las ventanas actuales de la Terminal.

Por supuesto, necesitará algunas ventanas abiertas, así que si aún no las tiene abiertas:

  • pulsa no , configura las ventanas de tu terminal y ejecuta la aplicación nuevamente.

La aplicación siempre se cerrará después de ejecutarse.

  • Ahora, cuando vuelva a ejecutar la aplicación, se abrirán tantas ventanas como haya configurado y en los mismos lugares.

Una segunda característica es que puedes cambiar la configuración de la ventana.

Si mantienes presionada la tecla Mayús mientras haces clic en el ícono de la aplicación para iniciarla.

La aplicación te dará la opción de guardar las ventanas actuales de la Terminal como su configuración windowBounds . Esto sobrescribe a los anteriores.

Tener más de una configuración. Podría ampliar la aplicación para hacer esto. Pero es más simple simplemente crear dos de las aplicaciones y nombrarlas de manera diferente. Colócalos en tu muelle. ta da ...

El guión.

    property windowBounds : {}


if windowBounds is {} then


    display()

else
    nowRun()

end if

on display()
    display dialog "Set the current Terminal windows to app. now?" buttons {"Yes", "No"} default button 2
    if the button returned of the result is "Yes" then
        setBounds()

    end if

end display

on nowRun()

    if not isShiftKeyPressed() then
        tell application "Terminal"
            activate
            close windows
            delay 1
            repeat with i from 1 to number of items in windowBounds
                set this_item to item i of windowBounds
                do script "proHelp"
                set bounds of window 1 to this_item
            end repeat
        end tell

    else

        display()

    end if
end nowRun
on setBounds()
    tell application "Terminal"
        set windowBounds to bounds of windows

    end tell


end setBounds

on isShiftKeyPressed()

    return (do shell script "/usr/bin/python -c 'import Cocoa; print Cocoa.NSEvent.modifierFlags() & Cocoa. NSShiftKeyMask > 1'") is "True"
end isShiftKeyPressed

Actualización 2.

Movido close windows

En el identificador nowRun() .

Esto permite que la aplicación se use si el Terminal se está ejecutando o no. Ahora cerrará cualquier ventana que esté abierta actualmente y mostrará las configuradas.

Esto es útil cuando inicias por primera vez el Terminal y obtienes una ventana por defecto.

    
respondido por el markhunte 19.02.2015 - 17:31

Lea otras preguntas en las etiquetas