search
LoginSignup
99
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

iTerm2のtabのタイトルと色を動的にいじる

https://gyazo.com/1d0c40169e6c700ba4c8086691b0cd18
後述の応用例が本編かも

title(mac標準のターミナルでも可能)

shell
#例
$ echo -ne "\033]0;${USER}@${LANG}\007"

${USER}@${LANG}の部分は適宜変更する

参考:
Automatically set title on iTerm tabs | MrBrown blob
http://charles.lescampeurs.org/2008/05/07/automatically-set-title-on-iterm-tabs

color(iTerm2のみ)

RGBでtabの色を指定できる
使い方:
$ tab-color 255 255 255 → 真っ白
$ tab-color 255 0 0 → 真っ赤
$ tab-color 192 82 24 → オレンジ

.zshrc
#関数定義(引数3つ)
tab-color() {
    echo -ne "\033]6;1;bg;red;brightness;$1\a"
    echo -ne "\033]6;1;bg;green;brightness;$2\a"
    echo -ne "\033]6;1;bg;blue;brightness;$3\a"
}

tab-reset() {
    echo -ne "\033]6;1;bg;*;default\a"
}

参考:
https://gist.github.com/wadey/1140259



応用例(本編)

title

たとえば、.zshrc

.zshrc
function chpwd() { ls; echo -ne "\033]0;$(pwd | rev | awk -F \/ '{print "/"$1"/"$2}'| rev)\007"}

と書いておけば、cdしたときにlsが実行されるのに加えて
タブのtitleとして
[一個上のディレクトリ名]/[現在のディレクトリ名]
が表示されて、複数のtabで行き来する場合に「どのtabがどのディレクトリで作業してるか」把握しやすい

color

同じく.zshrc

.zshrc
alias top='tab-color 134 200 0; top; tab-reset'

って書いとけば、topを起動している間tabの色が黄緑っぽくなる。
irb,pry,octave等のインタプリタ系や、
htop,mc等の常駐系なら問題無く使えると思う。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
99
Help us understand the problem. What are the problem?