0 votos

¿múltiples lanzadores de terminal en el dock?

Tengo un acceso directo al terminal en mi dock que uso todos los días. Dependiendo de la configuración del monitor (extra, 2 extra, etc.) de mi Macbook Pro, me gusta tener un esquema de inicio diferente (4 Windows o 5 Windows).

¿Hay alguna forma de tener 2 (o más) lanzadores de terminal en el dock, uno que lance la configuración "4 Windows" y otro que lance la configuración "5 Windows"?

0voto

0942v8653 Puntos 3617

A continuación te explicamos cómo cambiar automáticamente el grupo de ventanas de inicio de Terminal:

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 sustituirse por los nombres de los grupos de ventanas del Terminal).

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

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

O puede utilizar mi linkapp script para crear un nuevo paquete de aplicaciones que hará lo mismo, y el icono permanecerá allí.

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

A continuación, cuando te da la envoltura script, editarlo y añadir los valores predeterminados escribir línea por encima de la "$executable" .

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

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

"$executable" 

A continuación, puede hacer lo mismo con el otro grupo de ventanas. Una advertencia con linkapp.py es que no puedes ejecutar ambos al mismo tiempo, porque intentará restaurar tu Windows.

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

0voto

Malik hassan Puntos 16

Puede guardar el siguiente Applescript como una Aplicación.

No establezca permanecer abierto al guardar.

Este script cuando se guarda como una App. Te permitirá configurar tantas ventanas como necesites y abrirlas en las mismas posiciones.

Puede guardar el script cualquier número de veces como nueva App. y configurar cada App para controlar diferentes conjuntos de Terminal Windows.


Cuando ejecutes el script lo hará:

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

Si no encuentra ninguno, te pedirá que lo configures.

  • Hit para guardar su Terminal Windows actual.

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

  • hit no Configure su terminal Windows y ejecute de nuevo la aplicación.

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

  • Ahora cuando vuelvas a ejecutar la App se abrirán tantas Windows como tuvieras configuradas y en los mismos lugares.

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

Si mantienes pulsada la tecla Mayúsculas mientras haces clic en el icono de la aplicación para iniciarla.

La aplicación le dará la opción de guardar el Terminal Windows actual como su windowBounds configurar. Esto sobrescribe las anteriores.


Para tener más de una configuración. Podría ampliar la aplicación para hacer esto. Pero es más simple que acaba de crear dos de las aplicaciones y el nombre de ellos de manera diferente. Colócalas en tu dock. ta da...

El script.


    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 nowRun() mango.

Esto permite utilizar la aplicación tanto si el Terminal está en ejecución como si no. Ahora cerrará todas las ventanas abiertas y abrirá las configuradas.

Lo cual es útil cuando inicias Terminal por primera vez y se abre una ventana por defecto.

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