screen+zshでwindowタイトルを変更することはできる
zshのプロンプトの色を変える方法は検索するとすぐに見つかる
ただ、終了ステータスが0以外だった時に、windowタイトルの色を替える方法がどうもわからない。
そこで、iterm限定の方法だが以下のようにしてみる。
まず.zshrcで
precmd(){
PREVENDSTATUS=$?
PROMPT="%{%(?.$fg[blue].$fg[red])%}% [%n@%m]%% %{$reset_color%}"
prev=`history -1 | sed "s/^[ 0-9]*//" | sed "s/ .*$//" | sed "s#/.*/##" `
RESULTTOPIC="[end]"
if [ $PREVENDSTATUS -ne 0 ]; then
RESULTTOPIC="!Error!"
fi
echo -n "^[k${RESULTTOPIC} $prev^[\\"
}
まず$?で実行したコマンドの終了ステータスを取得。
それをみて、0以外だったらwindowタイトルの先頭に"!Error! コマンド名"をつけて表示する
0だった場合は "[End]コマンド名"
そしてitermの
「Preferences] - [Advanced] - [Triggers]で[Edit]
プラスボタンを押して
Regular Expressionの欄に
!Error!
Actionの欄に
Highlight Text
Parametersの欄に
White on Red
以上、screen+zsh+iterm時の合わせ技でした。