Appendix A: Glossary
Note: This chapter is a machine-translated English version of the original Japanese chapter 付録A: 用語集. Some phrasing may read unnaturally.
This appendix briefly summarizes only the terms that appear frequently in the main text, using meanings aligned with the current implementation.
Index by category
- Win32 / Windows: BitBlt · ConPTY · GDI · IME · IMM32 · Named Pipe · WM_CHAR / WM_KEYDOWN · WM_PAINT · WM_TIMER · WndProc
- Rust / tokio: Arc · Arc<[u8]> · mpsc · spawn_blocking · tokio::Mutex and std::sync::Mutex
- VT / terminal: ANSI escape sequence · CSI · CJK · DECAWM · LCF · OSC · OSC 52 · OSC 133;D · PTY · Scrollback Buffer · Continuation
- yatamux-specific: AppearanceConfig · FocusAwareBackend · LayoutSnapshot · PaneCapture · PaneStore · Theme file
Win32 / Windows
BitBlt
A GDI bit-block transfer function. yatamux draws into an off-screen backbuffer first and then copies it to the screen with BitBlt to reduce flicker.
ConPTY
Windows’ pseudo-terminal API. yatamux uses it through portable-pty.
ConPTY has existed since Windows 10 v1809, but this book assumes v1903 or later for stable behavior.
GDI
Windows’ 2D drawing API. yatamux uses GDI rather than GPU rendering for text, backgrounds, borders, the status bar, and popup UI.
IME
The input-conversion mechanism for Japanese and similar languages. yatamux handles WM_IME_COMPOSITION, draws the preedit string itself, and sends only committed text to the PTY as UTF-8.
IMM32
The group of Win32 APIs used for IME control. ImeHandler uses it to access preedit strings and candidate-window positioning.
Named Pipe
A Windows IPC mechanism such as \\.\pipe\yatamux-default.
yatamux uses it for communication between the CLI and the running GUI process.
WM_CHAR / WM_KEYDOWN
Win32 keyboard-input messages.
WM_KEYDOWN is used for shortcuts and mode control,
while WM_CHAR is used to send ordinary text input to the PTY.
WM_PAINT
The repaint-request message. yatamux handles full-window drawing by calling paint() here and rendering into the backbuffer.
WM_TIMER
The periodic timer message. yatamux fires it every 16 ms and uses it to request redraws when dirty rows, IME composition, or notifications are active.
WndProc
The Win32 window message handler.
In yatamux, ClientState is stored in GWLP_USERDATA and accessed from there.
Rust / tokio
Arc
A reference-counted pointer for sharing values across threads.
It appears frequently in yatamux for things like PaneStore and notification queues.
Arc<[u8]>
A shared byte slice. ServerMessage::Output uses this so the same PTY output can be fanned out to both the GUI and IPC clients with fewer copies.
mpsc
tokio::sync::mpsc. Nearly all communication between GUI, server, IPC, and the bridge uses this.
spawn_blocking
The tokio mechanism for moving blocking work off the async runtime.
yatamux uses it for the Win32 message loop and for waiting on child.wait().
tokio::Mutex and std::sync::Mutex
The current code uses them for different purposes:
tokio::Mutex: heavy state such asGrid, updated in async contextsstd::sync::Mutex: lightweight state such astitleandsize, which should be read quickly
VT / terminal
ANSI escape sequence
Byte sequences used for terminal control: cursor movement, colors, erase operations, notifications, and more.
CSI
Control Sequence Introducer sequences beginning with ESC [.
These include SGR, cursor movement, and scroll-region settings.
CJK
A collective label for Chinese, Japanese, and Korean characters. yatamux treats width handling and input for these scripts as first-class requirements.
DECAWM
Auto-wrap mode. When the cursor is at the last column, the next character causes a wrap to the next line.
LCF
Last Column Flag. An internal flag meaning the cursor has reached the last column, but the actual wrap is deferred until the next character arrives.
OSC
Operating System Command sequences beginning with ESC ].
They are used for title changes, clipboard writes, notifications, and similar side effects.
OSC 52
A clipboard-write sequence. yatamux receives it and reflects it into the Windows clipboard.
OSC 133;D
A shell-command completion notification.
send-keys --wait-for-prompt uses it as a wait condition.
PTY
A pseudo terminal. On Windows, ConPTY is the corresponding mechanism.
Scrollback Buffer
A buffer holding lines that have scrolled off-screen. In yatamux it is capped at 50,000 lines and does not collect output while the alternate screen is active.
Continuation
A dummy cell used to occupy the right half of a full-width grapheme. Rendering skips these cells so that one grapheme can still behave like a two-cell unit.
yatamux-specific
AppearanceConfig
The config structure representing [appearance] in %APPDATA%\yatamux\config.toml.
It contains background color, foreground color, cursor color, selection color, status-bar color, and font settings.
FocusAwareBackend
A notification backend that switches destination depending on focus state:
- when focused: in-app toast notifications
- when unfocused: Windows balloon notifications
LayoutSnapshot
The snapshot type used for session persistence.
Instead of storing LayoutNode directly, it stores the serializable mirror type LayoutNodeDef.
PaneCapture
The structured metadata returned by capture-pane --json.
It includes not just visible text, but also size, cursor position, and the tail of scrollback.
PaneStore
The aggregation point for client-side UI state. It stores the layout, active pane, launcher states, copy state, floating-pane state, and more.
Theme file
A TOML file stored under %APPDATA%\yatamux\themes\<name>.toml.
When switching themes at runtime, only the color-related fields under [appearance] are applied.
Font settings are not changed live.