跳到主要内容
ansicode

OSC 1 — 设置图标名(与窗口标题分离)

独立于可见窗口标题设置 X11 风格的图标名 —— 历史上为窗口最小化时显示的标签。

字节形式

涵盖所有常见的字符串字面量写法,方便正反查找。

\\x1b[\x1b]1;ICON-NAME\x07
\\033[\033]1;ICON-NAME\007
\\e[\e]1;ICON-NAME\a
ESC [ESC ] 1 ; ICON-NAME BEL
hex1b 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)

示例

bash
printf '\033]1;build-watch\007'   # icon name only; title bar untouched
python
import sys; sys.stdout.write('\x1b]1;build-watch\x07')
go
fmt.Print("\x1b]1;build-watch\x07")
javascript
process.stdout.write('\x1b]1;build-watch\x07')
c
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
不支持

相关序列

在家族食谱中

OSC 食谱 · 2. 窗口与标签标题 —— `OSC 0 / 1 / 2`