概要
実行時間の長いコマンドが終わったら、Mac の Notification Center (Growl にするのも可能) で通知がくる。Terminal.app と iTerm 2 に対応している。
通知の様子。30秒を超えるコマンドが通知されている。
30秒を超えないコマンドでも、失敗したら通知される。
どちらもターミナルがバックグラウンドのときのみ通知される。長いコマンドを投げてから twitter とか見てたらいつのまにか時間が経ってしまうような人に便利。
設定
1. 準備
- Notification Center に通知する場合
alloy/terminal-notifier をインストールする。コマンドから Notification Center に通知をするためのアプリ。
Releases から .app をインストールしてもよいし、Download にあるように RubyGems もしくは homebrew で入れてもよい。
- Growl に通知する場合
Growl - Downloads から GrowlNotify を入れる。Growl に通知するのは使ってないので割愛...
2. インストール
marzocchi/zsh-notify を zsh で使えるようにする。
ダウンロードして適宜配置し、.zshrc
に以下を追記する。
source ~/.zsh.d/zsh-notify/notify.plugin.zsh
デフォルトでは terminal-notifier を .app でインストールした場合を想定しているので、インストールする方法によって修正する。$ which terminal-notifier
の実行結果を貼り付ければいいんじゃないかな。
export SYS_NOTIFIER="/Users/kei/.rbenv/shims/terminal-notifier"
3. 設定
デフォルトでは閾値が30秒になっているので、各自よしなに。
export NOTIFY_COMMAND_COMPLETE_TIMEOUT=10