Selon ce que vous voulez accomplir exactement , voici quelques idées dans AppleScript en utilisant vos styles de terminal. Celles-ci sont plus robustes que tput
, car elles sont réinitialisées par des invites colorées. etc (au moins pour moi).
Cela définit tous les onglets exécutant Python (aucun serveur SSH disponible pour les tests actuellement) sur Homebrew, les autres sur 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
enregistrez-le en tant que script et exécutez-le à osascript Name.scpt
chaque fois que vous souhaitez recolorer vos coques (bien sûr, vous pouvez en faire un script de shell ou quelque chose).
Si vous souhaitez afficher tous les processus de longue durée différemment, utilisez la condition suivante:
if busy of tab t of window w is true then
Ou, vous pouvez définir le style d'un seul onglet, sélectionné manuellement:
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
Exécutez-le comme ceci:
osascript StyleTerm.scpt 3 Homebrew
-> Le troisième onglet de la fenêtre Terminal la plus en avant obtient le style Homebrew!
Si vous souhaitez modifier les fenêtres d'arrière-plan, remplacez "fenêtre avant" par une expression entre parenthèses comme juste après "tab". Si vous souhaitez toujours modifier "l'onglet courant" sélectionné, utilisez selected tab
au lieu de tab (item 1 of argv as number)
.
Ajoutez ce qui suit à votre .bash_profile
si la première solution est un travail trop manuel pour vous:
PROMPT_COMMAND='osascript "/path/to/Name.scpt"'
Maintenant, il est exécuté avant chaque invite (seul problème: pas après avoir démarré quelque chose, c'est-à-dire ssh
. Mais ce sujet n'est pas sur les astuces bash de fantaisie de toute façon. Ce n'est qu'un pointeur.)
Terminal -> Preferences -> Settings
sauf que je veux le faire avec une commande. Je veux créer un script qui va ressembler à ceci:changeBackgroundTheme; ssh; changeBackgroundTheme
. Cela vous aidera à me rappeler dans quelles fenêtres se trouve actuellementssh
.