跳到主要内容
ansicode

OSC 0 / 2 — 设置窗口/图标标题

修改终端窗口的标题栏文本。

字节形式

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

\\x1b[\x1b]0;TITLE\x07
\\033[\033]0;TITLE\007
\\e[\e]0;TITLE\a
ESC [ESC ] 0 ; TITLE BEL
hex1b 5d 30 3b ... 07

说明

OSC(Operating System Command)序列以 `ESC ]` 开头,以 BEL(`\x07`,xterm 事实标准)或 ST(`ESC \`,`\x1b\\`,规范标准)结尾。`OSC 0` 同时设置窗口与图标标题;`OSC 1` 仅图标;`OSC 2` 仅窗口。常用于 shell(PROMPT_COMMAND)、tmux、screen 以及标签页重命名工具。结束符必须存在 —— 缺失的 BEL/ST 会让 OSC 解析器一直挂起,直到下一个恰好是结束符的字节。

规范出处: xterm-ctlseqs (OSC 0/1/2)

示例

bash
printf '\033]0;Hello window\007'
python
import sys; sys.stdout.write('\x1b]0;Hello window\x07')
go
fmt.Print("\x1b]0;Hello window\x07")
javascript
process.stdout.write('\x1b]0;Hello window\x07')
c
printf("\x1b]0;Hello window\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 食谱 · 1. 信封 —— `\x1b]` …… `\x07` 或 `\x1b\\`