Існує справді лайно і клопіт спосіб автоматизувати це, але я все-таки опублікую його.
Ви можете створити новий профіль у налаштуваннях iTerm2 (панель «Профіль»). Назвемо це "LargeFont". Ви можете його клонувати за умовчанням, натиснувши ⌘ = .
Встановіть розмір шрифту, який потрібно відображати на новоствореній панелі "Текст".
Тепер ось хитрість. Ви не можете змінити ні розмір шрифту, ні профіль термінальних сеансів за допомогою AppleScript (принаймні, я не знайшов спосіб), але ви можете виконувати команди в кожному сеансі за допомогою AppleScript, і в iTerm2 є спеціальна послідовність виходу, яка підтримує зміну профілів для сеансу, в якому він був echo
відтворений.
Отже, ви можете виконати це:
echo -e "\033]50;SetProfile=LargeFont\a"
у кожному відкритому сеансі змінити профіль терміналу на "LargeText".
Тепер ми можемо використовувати AppleScript для автоматизації виконання всіх відкритих сеансів:
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
Зауважте, що він просто записує текст (буквально) у кожен сеанс, тому якщо у вас є якийсь текстовий редактор, відкритий на одній із ваших вкладок - він не буде працювати в ньому, і вставить команду echo у ваш код / файл конфігурації замість цього. Якщо у вас є команда ping, що працює на одній із вкладок - вона також не працюватиме.
Ви повинні переконатися, що в жодній із ваших оболонок не працює інтерактивний матеріал.
Ці команди також залишиться в історії вашої оболонки. Ви можете його обійти, додавши пробіл перед самою командою (як echo -e ...
), це працює принаймні в zsh.
Ось функція 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"
}
Отже, ви можете використовувати його так:
iterm_change_profile LargeFont
Також є недолік - коли ви змінюєте профіль з одного з більшим шрифтом на менший, вікно iTerm значно змінюється.
Але, знову ж таки, це справді лайно.