Ada cara yang sangat menyebalkan dan bermasalah untuk mengotomatisasi ini, tetapi saya tetap akan mempostingnya.
Anda dapat membuat profil baru di preferensi iTerm2 (panel Profil). Sebut saja "LargeFont". Anda dapat mengkloningnya dari default dengan menekan ⌘ = .
Setel ukuran font yang Anda inginkan untuk ditampilkan di panel teks profil yang baru dibuat.
Nah, inilah triknya. Anda tidak dapat mengubah ukuran font atau profil sesi terminal menggunakan AppleScript (setidaknya saya belum menemukan cara), tetapi Anda dapat menjalankan perintah di setiap sesi menggunakan AppleScript, dan ada urutan pelarian khusus di iTerm2 yang mendukung perubahan profil untuk sesi saat itu echo
.
Jadi, Anda dapat menjalankannya:
echo -e "\033]50;SetProfile=LargeFont\a"
di setiap sesi yang dibuka untuk mengubah profil terminal menjadi "LargeText".
Sekarang kita dapat menggunakan AppleScript untuk mengotomatiskan eksekusi untuk semua sesi yang dibuka:
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
Harap dicatat bahwa itu hanya menulis teks (secara harfiah) ke dalam setiap sesi, jadi jika Anda memiliki beberapa editor teks dibuka di salah satu tab Anda - itu tidak akan berfungsi di dalamnya, dan akan menempelkan perintah gema di file kode / konfigurasi Anda sebagai gantinya. Jika Anda memiliki perintah ping yang berjalan di salah satu tab - itu tidak akan berfungsi juga.
Anda harus memastikan tidak ada barang interaktif yang berjalan di kulit Anda.
Anda juga akan memiliki perintah-perintah ini yang tersisa dalam riwayat shell Anda. Anda dapat mem-bypassnya dengan menambahkan spasi sebelum perintah itu sendiri (seperti echo -e ...
), ini berfungsi setidaknya dalam zsh.
Inilah fungsi 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"
}
Jadi Anda bisa menggunakannya seperti itu:
iterm_change_profile LargeFont
Ada juga kelemahan - ketika Anda mengubah profil dari yang dengan font yang lebih besar ke yang lebih kecil, jendela iTerm secara signifikan mengubah ukuran.
Tapi, sekali lagi, ini cara yang sangat menyebalkan.