web-dev-qa-db-ja.com

プログラムでiTerm2のタブの色を設定しますか?

私の毎日のワークフローには私も含まれます

  1. ITerm2の起動
  2. 3つのタブを作成する
  3. それぞれ1つのタブを赤、オレンジ、黄色に設定します
  4. 各タブで特定のパスに変更する

このプロセスをスクリプト化したいと思います。シェル、アップルスクリプトなど。しかし、タブの色を変更するためのフックが見つからないようです。これは可能ですか?これは私が達成しようとしていることの例を含むスクリーンショットです。

iTerm tab setup

17
John Kramlich

それは可能であり、詳細については itermエスケープコード をお読みください。

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

ssh(.ssh/config)を実行したときにターミナルの色を設定しようとしましたが、うまくいきましたが、sshセッションを閉じると、スクリプトを再度呼び出さず、タイトル/色。

自動色タブ に機能リクエストを追加しました-スターを付けることを忘れないでください、またはコメントを追加してください(パッチも大歓迎です!)

14
sorin

この関数を〜/ .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
 }

この機能を追加した後、新しいターミナルセッションを開く必要があります。入力できます:

$ color green

または

$ color orange

タブの色を変更します。

Photoshopを使用して色を作成します。

Photoshop color picker

このカラーピッカーの値は、次のコマンドに変換できます(R->赤、G->緑、B->青の値を "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"
13
Markus Perl

Sshセッションの終了後にタブの色をリセットするには、次のコマンドを使用します。

function ssh {
  command ssh $@
  echo -e "\033]6;1;bg;red;brightness;176\a"
  echo -e "\033]6;1;bg;green;brightness;181\a"
  echo -e "\033]6;1;bg;blue;brightness;175\a"
}
4
davidhq