コマンド実行に5秒以上かかったときだけ通知センターにコマンドの終了を通知するようにします。
Required#
terminal-notifier をインストール
brew install terminal-notifier
Source#
.zshrc の preexec
と precmd
に以下を追記
function preexec () {
_prev_cmd_start_time=$SECONDS
_cmd_is_running=true
}
function precmd() {
if $_cmd_is_running ; then
_prev_cmd_exec_time=$((SECONDS - _prev_cmd_start_time))
if ((_prev_cmd_exec_time > 5)); then
terminal-notifier -message "Command execution finished"
fi
fi
_cmd_is_running=false
}
terminal-notifier
は -activate
オプションにアプリの Bundle ID を渡すと通知をクリックした時にアプリをアクティブにできるので下記のようにしておくと便利。
terminal-notifier -message "Command execution finished" -activate com.apple.Terminal #iTerm2 の場合は com.googlecode.iterm2