Il existe un moyen vraiment merdique et buggé d'automatiser cela, mais je le publierai quand même.
Vous pouvez créer un nouveau profil dans les préférences de l'iTerm2 (le volet Profil). Appelons-le "LargeFont". Vous pouvez le cloner à partir de celui par défaut en appuyant sur ⌘ = .
Définissez la taille de police à afficher dans le volet Texte du profil nouvellement créé.
Voici maintenant l'astuce. Vous ne pouvez pas modifier la taille de la police ou le profil des sessions de terminal à l'aide d'AppleScript (au 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 la modification des profils pour la session dans laquelle il a été echo
édité.
Vous pouvez donc exécuter cela:
echo -e "\033]50;SetProfile=LargeFont\a"
dans chaque session ouverte pour changer le profil du terminal en "LargeText".
Nous pouvons maintenant utiliser AppleScript pour automatiser l'exécution de 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 qu'il écrit simplement le texte (littéralement) dans chaque session, donc si vous avez un éditeur de texte ouvert dans l'un de vos onglets - il ne fonctionnera pas dedans et collera la commande echo dans votre code / fichier de configuration au lieu. Si une commande ping est exécutée dans l'un des onglets, elle ne fonctionnera pas non plus.
Vous devez vous assurer qu'aucun élément interactif ne s'exécute dans aucun de vos shells.
Vous aurez également ces commandes dans l'historique de votre shell. Vous pouvez le contourner 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 pouvez donc l'utiliser comme ça:
iterm_change_profile LargeFont
Il y a aussi un inconvénient - lorsque vous changez le profil de celui avec la police la plus grande en la plus petite, la fenêtre de l'iTerm se redimensionne considérablement.
Mais, encore une fois, c'est une façon vraiment merdique.