A seconda di cosa esattamente vuoi realizzare, ecco alcune idee in AppleScript che usano i tuoi stili Terminale. Questi sono più robusti di tput
, perché vengono ripristinati da prompt colorati. ecc. (almeno per me).
Questo imposta tutte le schede che eseguono Python (nessun server SSH disponibile per il test in questo momento) su Homebrew, le altre su Ocean:
tell application "Terminal"
repeat with w from 1 to count windows
repeat with t from 1 to count tabs of window w
if processes of tab t of window w contains "Python" then
set current settings of tab t of window w to (first settings set whose name is "Homebrew")
else
set current settings of tab t of window w to (first settings set whose name is "Ocean")
end if
end repeat
end repeat
end tell
salva come script ed eseguilo come osascript Name.scpt
ogni volta che vuoi ricolorare le tue shell (ovviamente puoi avvolgerlo come uno script di shell o qualcosa del genere).
Se si desidera visualizzare tutti i processi di lunga durata in modo diverso, utilizzare la seguente condizione:
if busy of tab t of window w is true then
Oppure, puoi impostare lo stile di una singola scheda, selezionata manualmente:
on run argv
tell application "Terminal" to set current settings of tab (item 1 of argv as number) of front window to first settings set whose name is (item 2 of argv)
end run
Eseguilo in questo modo:
osascript StyleTerm.scpt 3 Homebrew
-> La terza scheda della finestra Terminale in primo piano diventa stile Homebrew!
Se si desidera modificare le finestre di sfondo, sostituire "finestra anteriore" con un'espressione tra parentesi come subito dopo "tab". Se si desidera sempre modificare la "scheda corrente" selezionata, utilizzare selected tab
invece di tab (item 1 of argv as number)
.
Aggiungi quanto segue al tuo .bash_profile
se la prima soluzione è troppo lavoro manuale per te:
PROMPT_COMMAND='osascript "/path/to/Name.scpt"'
Ora viene eseguito prima di ogni prompt (unico problema: non dopo aver avviato qualcosa, ovvero ssh
. Ma questo argomento non riguarda comunque i trucchi bash di fantasia. Questo è solo un puntatore.)
Terminal -> Preferences -> Settings
se volessi farlo con un comando. Voglio creare uno script che sarà simile a questa:changeBackgroundTheme; ssh; changeBackgroundTheme
. Questo mi aiuterà a ricordarmi in quali finestre sono attualmente presentissh
.