มีวิธีที่อึและเป็นบักกี้จริงๆในการทำสิ่งนี้โดยอัตโนมัติ แต่ฉันจะโพสต์ไว้
คุณสามารถสร้างโปรไฟล์ใหม่ได้ในการตั้งค่าของ iTerm2 (บานหน้าต่างโปรไฟล์) ลองเรียกมันว่า "LargeFont" คุณสามารถโคลนได้จากหนึ่งเริ่มต้นโดยการกด⌘ =
กำหนดขนาดตัวอักษรที่คุณต้องการให้แสดงในบานหน้าต่างข้อความของโปรไฟล์ที่สร้างขึ้นใหม่
นี่คือเคล็ดลับ คุณไม่สามารถเปลี่ยนขนาดตัวอักษรหรือโพรไฟล์ของเทอร์มินัลเซสชันโดยใช้ AppleScript (อย่างน้อยฉันไม่พบวิธี) แต่คุณสามารถดำเนินการคำสั่งในทุกเซสชันโดยใช้ AppleScript และมีลำดับการหลบหนีที่กำหนดเองใน iTerm2 รองรับการเปลี่ยนโปรไฟล์สำหรับเซสชั่นมันecho
'ed in
ดังนั้นคุณสามารถดำเนินการได้:
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 จะปรับขนาดอย่างมีนัยสำคัญ
แต่อีกครั้งมันเป็นวิธีที่น่ารังเกียจจริงๆ