コマンド実行に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