(※その後: -> hostごとにstatus lineの色を変える・改 - すぎゃーんメモ)
ローカルと、sshログインしているサーバとそれぞれiTerm上の別タブで開いてそれぞれtmux起動してるわけだけど どのタブなのかすぐに判別できない status lineの色を分けたりすれば良いのかな
ということで140文字hack。
これを以下のように.zshrcに書いた。
if ! [ "$TMUX" = "" ]; then tmux set-option status-bg $(perl -MList::Util=sum -e'print+(red,green,blue,yellow,cyan,magenta,white)[sum(unpack"C*",shift)%7]' $(hostname)) | cat > /dev/null fi
シェル起動時にhostname
から判定してステータスラインの色を変える。出力結果をそのまま/dev/null
に捨てようとするとLinux環境でハングするバグ(?)があるのでパイプに流して回避w
ランダムに毎回変わってしまうのでは不便だし、環境から一意に決まる数字で色を決める。この例だと7種類しか選択肢がないので運悪く同じになってしまうとアレだけど… "colour0".."colour255"で選ぶのも微妙だしなぁ。
hostnameなどの情報からハッシュ的に一意な数字を決めるのってもっと良い方法ないだろうか?