2014年のアイデアを実装している
— k1LoW (@k1LoW) 2020年1月18日
2週に1度くらいFukuoka Growth Nextのコワーキングスペースを使わせてもらっています*1。
その時ちょっとだけ席を立ちたいときに、展開しているMacBookやバックパックを「置いておくか」「持っていくか」いつも悩みます。
バックパックはワイヤーを持ち歩いているので机に縛ってしまえばいいのですが、MacBookはそうもいかないので少しだけ安心できるような仕組みが欲しいなと思っていました。プライベートのMacBookとはいえ、盗まれたら家計に大打撃です*2。
日本ですしコワーキングスペースという出入りが限定されているエリアなのでそこまで気にする必要はないんですが。
「そういえば昔そんなこと考えていたなー」と思ったら、アイデアをエントリに残していました。
なるほど。アプリとまでいかないまでもシェルスクリプトとかCLIツールで作れば良さそうと思って作ってみました。
これは何?
電源ケーブル、もしくはWi-FiかBluetoothを指定して実行しておくと、その接続が切れたことを検知して、接続が切れている間指定のコマンドを 実行し続ける というだけのCLIツールです。
インストール
macOSというかMacBook専用コマンドなのでHomebrewでのインストールがオススメです。
$ brew install k1LoW/tap/connected
使い方
コワーキングスペースなどでちょっと席を立つときに、電源ケーブルを電源に繋いだ状態で以下のようなコマンドを実行しておきます。
$ connected watch -- say "電源ケーブルが外れています"
そうすると、電源ケーブルが外れたときに say コマンドが実行され続けます。
音量を下げられても対応できるようにosascriptでボリュームを最大にするのも良いかもしれません。
$ connected watch -c 'osascript -e "set Volume 10"; say "電源ケーブルが外れています"'
実行するコマンドは任意のものを指定できるので、Slackに通知したりTwilio経由で電話をかけたりすることも可能です。
電源ではなくWi-Fiの接続を利用したいときは--wifi
オプション、Bluetoothデバイスとの接続を利用したいときは --bluetooth
オプションを指定します。
$ connected watch --wifi -- sh ./slack_notify.sh
$ connected watch --bluetooth -- sh ./twilio_call.sh
というわけで
なんとなく作ってみました。
特に抑止力にはならなそうですが、ちょっとした安心が欲しい方はどうぞ。