はじめに
私はMacを使用しているのですが、Dockerで環境構築をする時や、npm ciなど少し時間のかかる処理をターミナルで行うことありますよね?
ついつい画面と睨めっこしてしまったり、他の作業をしていても「あの処理もう終わったかな?」と気になって何度も処理が終わっていないかターミナルを確認してしまうことがよくあります。
そこで、処理の完了時に通知を表示&音を鳴らしたいと思い調べてみることにしました。
結論
.zshrcにmynotifyという関数を作成して、実行したいコマンドの頭にmynotifyを付けて実行する。
.zshrc
function mynotify() {
"$@" && (
osascript -e 'display notification "✅ 成功:'"$*"'" with title "実行結果" subtitle "成功"' && afplay /System/Library/Sounds/Glass.aiff
) || (
osascript -e 'display notification "❌ 失敗:'"$*"'" with title "実行結果" subtitle "エラー"' && afplay /System/Library/Sounds/Basso.aiff
)
}
使用例
mynotify echo "これは成功です"
実行結果
使用例
mynotify false
うまくいかない場合
システム設定でスクリプトエディタの通知がOFFになっているor集中モードがONになっている可能性が高いです。
筆者はシステム設定→通知→アプリケーションの通知の欄にスクリプトエディタがそもそも表示されておりませんでした。
筆者の場合は、一度スクリプトエディタを一度実行したら、システム設定の通知欄「スクリプトエディタ」が現れましたので一度お試しください。
display notification "通知が出ました! " with title "テスト通知" subtitle "サブタイトル"
参考