如何通过转义码设置iTerm2会话标题?

时间:2019-05-10 02:27:47

标签: shell iterm2 iterm

iTerm2 page on badges提到可以使用转义码来更改session.name,但是有些隐晦地描述了该方法:

  

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"

(如果您知道如何设置选项卡标题,那我也很感兴趣!但是我看不到有任何迹象表明可以通过转义码来完成此操作。)

1 个答案:

答案 0 :(得分:0)

iTerm OSC 1337专有代码以^ G(BEL或ASCII 7)结尾。该文档可能已损坏。尝试在最后添加一个。