OSC 1 — 设置图标名(与窗口标题分离)
独立于可见窗口标题设置 X11 风格的图标名 —— 历史上为窗口最小化时显示的标签。
字节形式
涵盖所有常见的字符串字面量写法,方便正反查找。
\\x1b[
\x1b]1;ICON-NAME\x07\\033[
\033]1;ICON-NAME\007\\e[
\e]1;ICON-NAME\aESC [
ESC ] 1 ; ICON-NAME BELhex
1b 5d 31 3b ... 07说明
OSC 1 设置图标名 —— 历史上为 X11 在最小化窗口处显示的短标签(OSC 2 设置标题栏可见的长标题)。OSC 0 一次设置两者;OSC 1 只设置图标名;OSC 2 只设置标题。在 X11/xterm + gnome-terminal + konsole + mlterm + foot 上仍按设计工作 —— 窗口管理器通过 XSetWMIconName 读取图标名属性。在非 X11 终端(Windows Terminal、iTerm2、kitty、alacritty、wezterm、ghostty)上没有独立的图标名渲染面,因此多数完全忽略 OSC 1,或当作无操作。希望同步更新两者(跨平台工具的安全默认)请用 OSC 0;只在需要保留标题栏不动而更新最小化标签时才用 OSC 1。
规范出处: xterm-ctlseqs (OSC 1)
示例
printf '\033]1;build-watch\007' # icon name only; title bar untouchedimport sys; sys.stdout.write('\x1b]1;build-watch\x07')fmt.Print("\x1b]1;build-watch\x07")process.stdout.write('\x1b]1;build-watch\x07')printf("\x1b]1;build-watch\x07");终端支持
- xterm
- 支持
- Linux console (fbcon)
- 不支持
- macOS Terminal.app
- 不支持
- iTerm2
- 不支持
- Windows Terminal
- 不支持
- cmd.exe / ConPTY
- 不支持
- kitty
- 不支持
- alacritty
- 不支持
- WezTerm
- 不支持
- Ghostty
- 不支持
- GNOME Terminal
- 支持
- Konsole
- 支持
- tmux
- 不支持
- GNU screen
- 不支持
| xterm | Linux console (fbcon) | macOS Terminal.app | iTerm2 | Windows Terminal | cmd.exe / ConPTY | kitty | alacritty | WezTerm | Ghostty | GNOME Terminal | Konsole | tmux | GNU screen |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 |