iTerm2(OS X)从 shell 更改当前窗口的背景图像?

iTerm2(OS X)从 shell 更改当前窗口的背景图像?

iTerm2 允许设置背景图像或颜色,可以为当前窗口或默认窗口(用于所有新窗口)。

但是,我也可以设置当前窗口的背景图像或颜色从命令行? 即是否有一些神奇的 iTerm2 终端命令来设置活动窗口的背景?

我很乐意在脚本中使用它来更改背景,以反映我已登录到某些远程系统,从而自动在本地或远程 shell 之间产生视觉差异,甚至在特定服务器上为 ssh 会话使用特定的背景。

答案1

我只是想做同样的事情 :-)。 就这样,使用 AppleScript 和一些 bash(如果你喜欢的话)。

--this goes inside for example bgImgIterm.scpt--
tell application "iTerm2"
  tell current session of current window
    set background image to "/path/to/img/img.jpg" 
  end tell
end tell

然后你可以在 bash 中运行它

#!/bin/bash
osascript /path/to/scpt/bgImgIterm.scpt

我当前的 OSX 版本是 10.11.5,iTerm2 版本是 3.0.10

答案2

不使用 osascript,Iterm2 支持“echo 命令”来更改背景图像。试试这个 zsh 脚本。

#bin/zsh!

change() {
    thumbnails='/path/to/images/folder'
    images=(`ls $thumbnails`)
    num_images=${#images[*]}
    myfilename="${thumbnails}/`echo ${images[$((RANDOM%$num_images + 1))]}`"
    echo $myfilename > $current_tty
    base64filename=`echo ""${myfilename}"" | base64`;
    echo "\033]1337;SetBackgroundImageFile=${base64filename}\a" > $current_tty;
    unset $RANDOM
}

请注意,您必须对所有图像首次确认 iterm2 的消息。

而且,该脚本在 tmux 甚至 vim 中都能很好地运行。

相关内容