Es gibt einen wirklich beschissenen und fehlerhaften Weg, dies zu automatisieren, aber ich werde es trotzdem posten.
Sie können ein neues Profil in den Einstellungen von iTerm2 (Bereich Profil) erstellen. Nennen wir es "LargeFont". Sie können es aus dem Standard klonen, indem Sie ⌘ = drücken .
Legen Sie die Schriftgröße fest, die im Textbereich des neu erstellten Profils angezeigt werden soll.
Hier ist der Trick. Sie können weder die Schriftgröße noch das Profil der Terminalsitzungen mit AppleScript ändern (zumindest habe ich keinen Weg gefunden), aber Sie können Befehle in jeder Sitzung mit AppleScript ausführen, und es gibt eine benutzerdefinierte Escape-Sequenz in iTerm2, die dies ermöglicht unterstützt das Ändern von Profilen für die Sitzung, in der es echo
bearbeitet wurde.
So können Sie das ausführen:
echo -e "\033]50;SetProfile=LargeFont\a"
in jeder geöffneten Sitzung, um das Terminalprofil in "LargeText" zu ändern.
Jetzt können wir AppleScript verwenden, um die Ausführung für alle geöffneten Sitzungen zu automatisieren:
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
Bitte beachten Sie, dass nur der Text (buchstäblich) in jede Sitzung geschrieben wird. Wenn Sie also einen Texteditor auf einer Ihrer Registerkarten geöffnet haben, funktioniert er nicht und fügt den Echo-Befehl in Ihre Code- / Konfigurationsdatei ein stattdessen. Wenn auf einer der Registerkarten ein Ping-Befehl ausgeführt wird, funktioniert er auch nicht.
Sie sollten sicherstellen, dass in keiner Ihrer Shells interaktive Inhalte ausgeführt werden.
Sie haben diese Befehle auch noch im Verlauf Ihrer Shell. Sie können es umgehen, indem Sie ein Leerzeichen vor dem Befehl selbst echo -e ...
einfügen (wie ). Dies funktioniert zumindest in zsh.
Hier ist die zsh-Funktion:
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"
}
Du könntest es also so benutzen:
iterm_change_profile LargeFont
Es gibt auch einen Nachteil: Wenn Sie das Profil von dem mit der größeren Schriftart auf das kleinere ändern, ändert sich die Fenstergröße des iTerm erheblich.
Aber es ist wieder ein wirklich beschissener Weg.