OSXのコマンドライン通知ツール「Alerter」のご紹介
メールやチャットなど色々なところに通知が飛びます。 例えば会議が始まる前にチャットに通知したり、CircleCIがビルドを完了したらメールに通知したりしていますが、どちらも私が見に行かないといけません。 チャットを全然気にしていないタイミングで会議が始まったら通知を逃し、会議に行けない(遅れる)、といった結果が想定されます。
OSの機能で通知することで、私が気づく確率が上がるのではないかと思い調べていたところ見つけたのが今回紹介するAlerterです。
Alerter
Alerter/Send User Alert Notification on Mac OS X 10.8 from the command-line.
alerter is a command-line tool to send Mac OS X User Alerts (Notifications), which are available in Mac OS X 10.8 and higher. the program ends when the alerter is activated or closed, writing a the activated value to output (stdout), or a json object to describe the alert event.
簡単に言えばOSXのCLIで実行できる通知ツールです。
通知したり、通知に対して何らかのアクションを受け取ることができます。
やってみた
検証環境
1 2 3 4 5 6 7 | $ bash -version GNU bash , version 3.2.57(1)-release (x86_64-apple-darwin17) Copyright (C) 2007 Free Software Foundation, Inc. $ sw_vers ProductName: Mac OS X ProductVersion: 10.13.1 BuildVersion: 17B1003 |
インストール
こちらのページからツールをダウンロードし、解凍します。
通知してみる
パスを通してないのでツールをダウンロードしたディレクトリに移動し、通知してみます。
1 2 | $ cd /Users/inabajunmr/Downloads/ $ echo test | . /alerter |
通知されました。
通知に選択肢をつける
1 | $ . /alerter -message "あれやる ?" -actions "いま" , "あとで" , "あした" -dropdownLabel "いつやる ?" |
通知に選択肢がつきました。
オプションの詳細はこちら
通知にテキストを入力させる
1 | . /alerter -reply -message "名前どうする ?" -title "名前を決めたい" |
自由入力のテキストボックスをつけることもできます。
スクリプトに組み込む
選択肢を選ぶとDevelopers.IOの特定カテゴリのページを開くスクリプト
1 2 3 4 5 6 7 | ANSWER= "$(./alerter -message 'なにみる ?' -closeLabel みない -actions " AWSの記事 "," Mobileの記事 "," 採用情報 " -timeout 10)" case $ANSWER in "AWSの記事" ) open https: //dev .classmethod.jp /category/cloud/aws/ ;; "Mobileの記事" ) open https: //dev .classmethod.jp /category/smartphone/ ;; "採用情報" ) open https: //classmethod .jp /recruit/ ;; **) echo "? --> $ANSWER" ;; esac |
スクリプトを実行すると通知が表示されます。
選択した結果がブラウザで表示されます。
テキストを入力するとブラウザでDevelopers.IOの検索結果を開くスクリプト
1 2 | ANSWER= "$(./alerter -reply -message " なに調べる ? " -title " Developers.IO ")" open "https://dev.classmethod.jp/?s=$ANSWER" |
検索結果が表示されました。
参考
Alerter/Send User Alert Notification on Mac OS X 10.8 from the command-line.
まとめ
OSXの通知ツール、Alerterの紹介でした。 単純な通知はもちろん、通知に対する入力とその後のアクションを定義することで非常に有用なものを作れる気がします。
私からは以上です。