Aprire la nuova finestra / scheda di Terminal.app con un determinato profilo da riga di comando o AppleScript?

6

Quando accedo al mio Mac, voglio aprire automaticamente una nuova finestra di Terminal.app con un determinato profilo, ad esempio Monitor , che ha un comando di avvio e diverse impostazioni di aspetto. Ho pensato che sarebbe stato molto semplice farlo da AppleScript o da riga di comando (tramite osascript ), quindi posso aggiungere uno script ai miei elementi di accesso, ma risulta che non è così banale dopo diversi tentativi.

Il mio attuale modo migliore è il seguente AppleScript:

tell application "Terminal"
    set origSettings to default settings
    set default settings to settings set "Monitor"
    activate
    tell application "System Events" to keystroke "n" using command down
    set default settings to origSettings
end tell

Tuttavia, voglio sapere se c'è un modo più semplice per farlo senza fare affidamento sullo scripting dell'interfaccia utente (con Eventi di sistema) o sul caos con default settings del mio terminale.

applescript (osascript) per cambiare il profilo di Terminal.app sembrava promettente, ma è per quando c'è già una finestra di terminale aperta . Non ho idea di come creare una nuova scheda Terminale o finestra con la sua current settings specificata. Il comando do script , che crea una nuova finestra, sfortunatamente ignora il comando di avvio impostato nel profilo, facendomi ricadere sullo scripting dell'interfaccia utente.

Ho trovato anche questo script: link che di nuovo si basa sull'interfaccia utente scripting. Poiché alcune delle mie macchine utilizzano impostazioni internazionali non inglesi, preferisco attenersi alle sequenze di tasti piuttosto che alle etichette dei menu.

    
posta netj 02.03.2014 - 22:29
fonte

2 risposte

1

Possibile mi manca il punto, ma non riesci ad esportare il profilo come file .terminal e aggiungerlo agli elementi di login?

Esporta:

Aggiungiilfileesportatoaglielementidiaccesso:

    
risposta data 05.09.2014 - 08:34
fonte
2

Puoi eseguire il comando di avvio con do script ?

tell application "Terminal"
    do script "emacs"
    set current settings of selected tab of window 1 to settings set "Grass"
end tell

Se qualcun altro non ha bisogno di eseguire alcun comando di avvio, puoi usare do script "" per aprire una nuova finestra:

tell application "Terminal"
    do script ""
    set current settings of selected tab of window 1 to settings set "Grass"
end tell

Oppure potresti anche utilizzare do script "" cambiando default settings :

tell application "Terminal"
    set old to default settings
    set default settings to settings set "Grass"
    do script ""
    set default settings to old
    activate
end tell
    
risposta data 03.03.2014 - 22:13
fonte

Leggi altre domande sui tag