以编程方式设置 iTerm2 中选项卡的颜色?

Joh*_*ich 22 iterm applescript iterm2 macos

我的日常工作流程包括我

  1. 启动 iTerm2
  2. 创建 3 个选项卡
  3. 将每个标签设置为红色、橙色和黄色
  4. 更改为每个选项卡中的特定路径

我想编写此过程的脚本;shell、applescript 等。但是,我似乎找不到允许我更改选项卡颜色的挂钩。这可能吗?这是一个屏幕截图,其中包含我要实现的目标的示例。

iTerm 选项卡设置

sor*_*rin 18

这是可能的,您应该阅读iterm 转义码以了解详细信息。

^[]6;1;bg;red;brightness;N^G

我尝试在执行时设置终端的颜色ssh(.ssh/config) 并且它起作用但令人惊讶的是,当我关闭 ssh 会话时,它不会再次调用脚本,以恢复标题/颜色。

自动着色选项卡添加了功能请求- 不要忘记给它加星标,或添加您的评论(也欢迎补丁!)


小智 18

我将此功能添加到我的 ~/.profile 文件中:

function color {
    case $1 in
    green)
    echo -e "\033]6;1;bg;red;brightness;57\a"
    echo -e "\033]6;1;bg;green;brightness;197\a"
    echo -e "\033]6;1;bg;blue;brightness;77\a"
    ;;
    red)
    echo -e "\033]6;1;bg;red;brightness;270\a"
    echo -e "\033]6;1;bg;green;brightness;60\a"
    echo -e "\033]6;1;bg;blue;brightness;83\a"
    ;;
    orange)
    echo -e "\033]6;1;bg;red;brightness;227\a"
    echo -e "\033]6;1;bg;green;brightness;143\a"
    echo -e "\033]6;1;bg;blue;brightness;10\a"
    ;;
    esac
 }
Run Code Online (Sandbox Code Playgroud)

添加此功能后,您必须打开一个新的终端会话。现在您可以输入:

$ color green
Run Code Online (Sandbox Code Playgroud)

或者

$ color orange
Run Code Online (Sandbox Code Playgroud)

更改选项卡颜色。

我使用 Photoshop 来合成颜色:

Photoshop 颜色选择器

这个颜色选择器的值可以转换为以下命令(只需将 R -> red, G -> green, B -> blue 值插入“brightness;”后的右行中即可获得不同的颜色):

echo -e "\033]6;1;bg;red;brightness;57\a"
echo -e "\033]6;1;bg;green;brightness;197\a"
echo -e "\033]6;1;bg;blue;brightness;77\a"
Run Code Online (Sandbox Code Playgroud)