1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# Complete Configuration Example
# This demonstrates all font features together: styled fonts + Unicode ranges
# =============================================================================
# Terminal Dimensions
# =============================================================================
cols: 100
rows: 30
# =============================================================================
# Primary Font Configuration
# =============================================================================
font_family: "JetBrains Mono"
font_size: 14.0
# Styled font variants for bold and italic text
# These provide proper typographic bold/italic instead of synthetic rendering
font_family_bold: "JetBrains Mono Bold"
font_family_italic: "JetBrains Mono Italic"
font_family_bold_italic: "JetBrains Mono Bold Italic"
# =============================================================================
# Unicode Range-Specific Fonts
# =============================================================================
# Define custom fonts for specific Unicode ranges
# Useful for: CJK characters, emoji, mathematical symbols, etc.
font_ranges:
# East Asian Scripts
- start: 0x4E00 # CJK Unified Ideographs
end: 0x9FFF
font_family: "Noto Sans CJK SC"
- start: 0xAC00 # Hangul Syllables (Korean)
end: 0xD7AF
font_family: "Noto Sans CJK KR"
- start: 0x3040 # Hiragana (Japanese)
end: 0x309F
font_family: "Noto Sans CJK JP"
- start: 0x30A0 # Katakana (Japanese)
end: 0x30FF
font_family: "Noto Sans CJK JP"
# Emoji and Symbols
- start: 0x1F300 # Miscellaneous Symbols and Pictographs
end: 0x1F5FF
font_family: "Apple Color Emoji"
- start: 0x1F600 # Emoticons
end: 0x1F64F
font_family: "Apple Color Emoji"
- start: 0x1F680 # Transport and Map Symbols
end: 0x1F6FF
font_family: "Apple Color Emoji"
# Technical Symbols
- start: 0x2190 # Arrows
end: 0x21FF
font_family: "DejaVu Sans Mono"
- start: 0x2200 # Mathematical Operators
end: 0x22FF
font_family: "STIX Two Math"
- start: 0x2500 # Box Drawing
end: 0x257F
font_family: "DejaVu Sans Mono"
- start: 0x2580 # Block Elements
end: 0x259F
font_family: "DejaVu Sans Mono"
# =============================================================================
# Spacing and Layout
# =============================================================================
line_spacing: 1.2 # 1.0 = tight, 1.2 = default, 1.5 = spacious
char_spacing: 0.6 # 0.5 = narrow, 0.6 = default, 0.7 = wide
# =============================================================================
# Text Shaping (HarfBuzz Integration)
# =============================================================================
# Enable HarfBuzz text shaping for ligatures and complex scripts
# When enabled, provides proper rendering of:
# - Ligatures: fi, fl, ffi, ffl, ->, =>, >=, <=, etc.
# - Emoji: Flags (πΊπΈ), skin tones (ππ½), ZWJ sequences (π¨βπ©βπ§βπ¦)
# - Complex scripts: Arabic, Devanagari, Thai, etc.
# - Kerning: Proper spacing between characters
#
# Note: Requires fonts with OpenType features (Fira Code, JetBrains Mono, etc.)
enable_text_shaping: false # Set to true to enable (experimental)
# Enable ligatures (requires enable_text_shaping: true)
# Combines character sequences into single glyphs (fi β ο¬, -> β β)
enable_ligatures: true
# Enable kerning adjustments (requires enable_text_shaping: true)
# Applies spacing adjustments between character pairs
enable_kerning: true
# =============================================================================
# Scrollback
# =============================================================================
scrollback_lines: 10000
# =============================================================================
# Theme
# =============================================================================
theme: "Default Dark"
# Available themes: "Default Dark", "Dracula", "Solarized Dark",
# "Nord", "Monokai", "One Dark"
# =============================================================================
# Window Settings (size is determined by cols Γ rows Γ cell_size)
# =============================================================================
window_padding: 5.0
window_opacity: 1.0
window_decorations: true
# =============================================================================
# Cursor
# =============================================================================
cursor_style: "Block" # Block, Beam, or Underline
cursor_blink: true
cursor_blink_interval: 500
lock_cursor_visibility: false # Prevent apps from hiding cursor
lock_cursor_style: false # Prevent apps from changing cursor style
lock_cursor_blink: false # Prevent apps from enabling cursor blink
# =============================================================================
# Scrollbar
# =============================================================================
scrollbar_position: "Right" # Left or Right
scrollbar_width: 10.0
scrollbar_thumb_color: # RGBA
scrollbar_track_color: # RGBA
scrollbar_autohide_delay: 1000 # milliseconds
# =============================================================================
# Mouse and Selection
# =============================================================================
auto_copy_selection: false
copy_trailing_newline: false
middle_click_paste: true
mouse_scroll_speed: 3.0
# =============================================================================
# Bell/Notifications
# =============================================================================
notification_bell_desktop: false
notification_bell_sound: 0.5 # Volume 0.0-1.0
notification_bell_visual: true
# =============================================================================
# Shell Configuration
# =============================================================================
# custom_shell: "/bin/zsh"
# shell_args: ["-l"]
# working_directory: "~"
# =============================================================================
# Performance
# =============================================================================
# Maximum frames per second (FPS) target
# Controls how frequently the terminal requests screen redraws
# Note: On macOS, actual FPS may be lower (~22-25) due to system-level
# VSync throttling in wgpu/Metal, regardless of this setting
# Default: 60
max_fps: 60
# =============================================================================
# Screenshots
# =============================================================================
screenshot_format: "PNG" # PNG, JPEG, or SVG
# =============================================================================
# Notes on Font Priority:
# =============================================================================
# Font selection priority (in order):
# 1. Styled fonts (bold/italic/bold-italic) for formatted text
# 2. Unicode range fonts for characters in specified ranges
# 3. General fallback fonts (automatic system font discovery)
# 4. Primary font for everything else
#
# This means:
# - Bold CJK text uses the CJK range font (not the bold font)
# - Emoji always use the emoji font regardless of bold/italic
# - ASCII text uses appropriate styled fonts when bold/italic