macOSで自由自在に通知を表示する

Pocket

macOSで、時間のかかる処理が終わった時や、何かやらないといけない時間になった時など、こんなふうにピコンと通知を出したいことがあるだろう。

そんなときはJXAを使ってこんなスクリプトを書いてどこかに置いておく。

#!/usr/bin/osascript
const app = Application.currentApplication()
app.includeStandardAdditions = true
function run (args) {
  app.displayNotification(
    args[1],
    { withTitle: args[0], soundName: "Sosumi" }
  );
}

タイトルと本文を引数にしてコマンドラインから簡単に呼び出せる。

$ /foo/bar/display_notification.js 'NOTIFICATION TITLE' 'NOTIFICATION BODY'

このへんを読むと詳しいことが書いてある。

osascript コマンドの -e オプションで直接スクリプトを渡すこともできる。

osascript -l JavaScript -e  'const app=Application.currentApplication();app.includeStandardAdditions=true;function run (args) {app.displayNotification("hoge",{ withTitle: "fuga", soundName: "Sosumi" } );}'

ちなみに、鳴らせる音は /System/Library/Sounds/ に入っている。

$ ls /System/Library/Sounds/
Basso.aiff	Frog.aiff	Hero.aiff	Pop.aiff	Submarine.aiff
Blow.aiff	Funk.aiff	Morse.aiff	Purr.aiff	Tink.aiff
Bottle.aiff	Glass.aiff	Ping.aiff	Sosumi.aiff

Sosumiがお気に入り。


Pocket