hostごとにstatus lineの色を変える - すぎゃーんメモを書いたところ、@niwさんから
と教えていただいたので、真似してみることにした。ありがとうございます!if [ "$TMUX" != "" ]; then tmux set-option status-bg colour$(($(echo -n $(whoami)@$(hostname) | sum | cut -f1 -d' ') % 8 + 8)) | cat > /dev/null fi
sum
コマンドで16ビットチェックサムが得られる! 便利! hostname(+ユーザ名)を標準入力で渡すようにしてsumを計算すれば、一意に決まる値が得られる。これをcut
で切り抜いて$(())
を使って剰余計算した値を使ってカラーコード指定。こうすればawkもperlも使わずに環境によって一意に色を決められる!
ちなみにtmuxの設定ファイルをOSごとに切り分ける方法はあまり良いのが思い浮かばなくて、デフォルトシェルの.rcファイルで
alias tmux='tmux -f $HOME/.tmux.$(uname).conf'
としておいて、.tmux.Darwin.conf
, .tmux.Linux.conf
でそれぞれ
source-file $HOME/.tmux.common.conf
を呼ぶようにしておき、そこで共通の設定を書くようにしてみている。
GitHub - sugyan/dotfiles at 02384b27c92be8af10b69fb7d0f8267aa153e68d