macOS でスクリプトから通知を出す。


macOS でスクリプトから通知を出します。

mac の前に座る時間が増えたコロナ期間では必須ですよね!

しょうもない確認作業はスクリプトで自動化していきましょう。

👉 Play ストアから現在公開中のバージョンを取得するワンライナー 

そのまえに通知時に使うサウンドを増やしておきます。

 

システム効果音

私の mac は今、Monterey ですが、

通知時のサウンドは以下で設定できます。


システム環境設定

  ↓

サウンド

  ↓

サウンドエフェクト

mac os system effect sounds montrey

実体ファイルは以下にあります。


~ % 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

少し寂しいので追加します。

stevenjaycohen
👉 Google Code Archive - Long-term storage for Google Code Project Hosting. 

ユーザー追加向けディレクトリに置きます。(インストラーでは置かれます。)


~ % ls ~/Library/Sounds
Bip.aiff		Logjam.aiff		Uh oh.aiff
Boing.aiff		Monkey.aiff		Voltage.aiff
ChuToy.aiff		Pong2003.aiff		Whit.aiff
Clink-Klank.aiff	Quack.aiff		Wild Eep.aiff
Droplet.aiff		Single Click.aiff	moof.aiff
Indigo.aiff		Sosumi.aiff		newbip.aiff
Laugh.aiff		Temple.aiff

macOS 側の GUI からは、2つのディレクトリ内の音声ファイルを合成したものが表示されます。

mac os system sound classic

 

スクリプト

スクリプトから通知にメッセージを出力するには以下のようです。


~ % osascript -e 'display notification "めっせーじ" with title "たいとる" subtitle "さぶたいとる" sound name "Bip"'

sound 部分には、先ほどの音声ファイル名を拡張子なしで記述します。

👉 RubyからMacの通知センターで通知する簡単な方法 (AppleScript) - Qiita 
👉 Display notification from the Mac command line 
👉 Google Play Console - Google Play のアプリ 


👉 【Playストア】今現在のアプリ更新時の審査日数を調べる方法 


入力ソース (英数/かなモード) を自動で切り替える

うざいです、これ。

入力ソース (英数/かなモード) を自動で切り替える

一日に何度も日本語モードのまま英数を入力しています。

どうにかしたいです。

 

「書類ごとに入力ソースを切り替える」

まずは、macOS の設定で自動切り替えする方法です。


システム環境設定

  ↓

キーボード

  ↓

入力ソース

書類ごとに入力ソースを切り替える

開いている各ウィンドウで利用していた入力ソースを覚えていますので、フォーカスを変えるとそのウインドウの入力ソースに自動的に切り替わるようになります。

逆に、勝手に切り替わる、と思える場合はここを確認するといいかもしれません。

👉 書類ごとに異なる日本語入力ソースとは - Apple コミュニティ 
👉 入力について - Apple コミュニティ 

 

iTerm 「Send text at start」

もう一つの方法は、ターミナルアプリの iTerm の設定で起動時に切り替える方法です。


Preferences

  ↓

Profiles

  ↓

General

iTerm 「Send text at start」

「Send text at start」の欄に以下のスクリプトを書きます


osascript -e 'tell application "System Events" to key code 102'

キーコード 「102」 は 「英数」 キーです。(ちなみに 「104」 は 「かな」。)

これで、iTerm 起動時に、スクリプトが実行され、英数キーが押された状態となりますので、そのままお好きな英数のコマンドをどうぞ。

osascript -e 'tell application "System Events" to key code 102'

👉 iTermの起動時に日本語入力をOFFにする | blog.teapla.net 
👉 Documentation - iTerm2 - macOS Terminal Replacement 
👉 「Key Codes」 is a little utility that displays the key code, unicode value, and modifier keys state for any key combination you press. If you're a developer, this might be useful to you. 


Play ストアから現在公開中のバージョンを取得する


アプリの更新を早く知りたいですよね!

現在公開されているバージョンを取得したいですよね!

HTMLに依存するのもアレなのですが、

やってみました。

jq にインスパイアされて作ったという

pup というのを使わせていただきました、便利です。

👉 ericchiang/pup: Parsing HTML at the command line 


~ % brew install pup

でフツーにいけますし。

そして、Playストア画面の下の方を目指してスクレイピングします。

fetch version name from google play store

いつものように curl -s から |(パイプ) でつないでパースします。

簡単にワンライナーで取得できます。

https://play.google.com/store/apps/details?id=com.ss.android.ugc.trill

弱点としましては、端末を広く細かく網羅してるアプリに対しては、

👉 Twitter - Apps on Google Play 

こうなる。

https://play.google.com/store/apps/details?id=com.twitter.android

https://play.google.com/store/apps/details?id=com.twitter.android

まあ、しかたないか。

おまけ

👉 macOS でスクリプトから通知を出す。 
👉 Google Play Console - Google Play のアプリ 
👉 【Playストア】今現在のアプリ更新時の審査日数を調べる方法