注目の記事

OSXのコマンドライン通知ツール「Alerter」のご紹介

2017.12.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

メールやチャットなど色々なところに通知が飛びます。 例えば会議が始まる前にチャットに通知したり、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で実行できる通知ツールです。

通知したり、通知に対して何らかのアクションを受け取ることができます。

やってみた

検証環境

$ 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

インストール

こちらのページからツールをダウンロードし、解凍します。

通知してみる

パスを通してないのでツールをダウンロードしたディレクトリに移動し、通知してみます。

$ cd /Users/inabajunmr/Downloads/
$ echo test | ./alerter

通知されました。

通知に選択肢をつける

$ ./alerter -message "あれやる ?" -actions "いま","あとで","あした" -dropdownLabel "いつやる ?"

通知に選択肢がつきました。

オプションの詳細はこちら

通知にテキストを入力させる

./alerter -reply -message "名前どうする ?" -title "名前を決めたい"

自由入力のテキストボックスをつけることもできます。

スクリプトに組み込む

選択肢を選ぶとDevelopers.IOの特定カテゴリのページを開くスクリプト

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の検索結果を開くスクリプト

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の紹介でした。 単純な通知はもちろん、通知に対する入力とその後のアクションを定義することで非常に有用なものを作れる気がします。

私からは以上です。