iTerm2 page on badges提到session.name可以用转义码来修改,但是对这个方法的描述有些隐晦:
会话名称
当前会话的名称。默认为配置文件名称。可以使用转义序列OSC 1进行更改;名称ST,或在视图〉编辑当前会话中编辑会话标题。
如果你继续往下看描述如何更改徽章的代码,我们会看到一种Rosetta商店:
标记本身可以使用以下转义序列进行设置:OSC 1337 ; SetBadgeFormat=Base-64 encoded badge format ST
下面是一个在bash中工作的示例:
# Set badge to show the current session name and git branch, if any is set.
printf "\e]1337;SetBadgeFormat=%s\a" \
$(echo -n "\(session.name) \(user.gitBranch)" | base64)
我们可以由此推断,“OSC”是用来代替“\e]”的,“ST”是用来代替“\a”的,但即使有了这些信息,也没有任何结果:
printf "\e]1;%s\a" "New Title"
echo -en "\e]1;New Title\a"
(If你知道如何设置选项卡标题,这也是我感兴趣的!但我没有看到任何迹象表明这是可能的通过转义码。)
2条答案
按热度按时间ui7jx7zq1#
iTerm OSC 1337专有代码以^G(BEL或ASCII 7)结尾。文档可能已损坏。请尝试在末尾添加一个。
k97glaaz2#
在命令行中,可以回显转义字符,如
这将导致选项卡标题更改,例如:
这适用于iterm2,构建版本3.4.19