Il existe une manière vraiment merdique et boguée d'automatiser cela, mais je vais quand même la poster.
Vous pouvez créer un nouveau profil dans les préférences de iTerm2 (le volet Profil). Appelons-le "LargeFont". Vous pouvez le cloner à partir du profil par défaut en appuyant sur \=.
Définissez la taille de police que vous souhaitez afficher dans le volet Texte du profil nouvellement créé.
Maintenant voici le truc. Vous ne pouvez pas changer ni la taille de police ni le profil des sessions du terminal à l'aide d'AppleScript (du moins je n'ai pas trouvé de moyen), mais vous pouvez exécuter des commandes dans chaque session à l'aide d'AppleScript, et il existe une séquence d'échappement personnalisée dans iTerm2 qui prend en charge le changement de profil pour la session dans laquelle elle a été echo
'ée.
Ainsi, vous pouvez exécuter ceci :
echo -e "\033]50;SetProfile=LargeFont\a"
dans chaque session ouverte pour changer le profil du terminal en "LargeText".
À présent, nous pouvons utiliser AppleScript pour automatiser l'exécution pour toutes les sessions ouvertes :
tell application "iTerm"
repeat with theTerminal in terminals
tell theTerminal
repeat with theSession in sessions
tell theSession
write text "echo -e '\\033]50;SetProfile=LargeText\\a'"
end tell
end repeat
end tell
end repeat
end tell
Veuillez noter que cela écrit simplement le texte (au sens littéral) dans chaque session, donc si vous avez un éditeur de texte ouvert dans l'un de vos onglets, cela ne fonctionnera pas et collera la commande echo dans votre fichier de code/configuration. Si vous avez une commande ping en cours d'exécution dans l'un des onglets, cela ne fonctionnera pas non plus.
Assurez-vous qu'aucune activité interactive ne s'exécute dans l'un de vos shells.
Vous aurez également ces commandes restées dans l'historique de votre shell. Vous pourriez contourner cela en ajoutant un espace avant la commande elle-même (comme echo -e ...
), cela fonctionne au moins dans zsh.
Voici la fonction zsh :
function iterm_change_profile() {
osascript -e "
tell application \"iTerm\"
repeat with theTerminal in terminals
tell theTerminal
repeat with theSession in sessions
tell theSession
write text \" echo -e \\\"\\\\033]50;SetProfile=$1\\\\a\\\"\"
end tell
end repeat
end tell
end repeat
end tell"
}
Vous pourriez l'utiliser de cette façon :
iterm_change_profile LargeFont
Il y a aussi un inconvénient - lorsque vous passez du profil avec une plus grande police à celui avec une plus petite, la fenêtre de iTerm se redimensionne considérablement.
Mais, encore une fois, c'est une manière vraiment merdique.