それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Gmail通知を快適に、自動起動、常駐させた。

Macで一番困ってたGmail通知。GmailNotifierは遅い。その他のチェッカーもPOP経由でXMPP経由じゃない。XMPP経由だと通知が速い。

Windowsのgoogle talkの通知が速いのは、XMPP経由だから。Macにはない。

だから作った。

takuya/GmaiNotification · GitHub

今日はそれを常駐化した。

Macでのrubyスクリプト常駐は、とても簡単。LaunchAgent に起動しろと書くのみ。

  • rubyのDaemonizeでしょ?
  • setsidでしょ?
  • ログ出力先変えるんでしょ?

いいえ、それも不要です。launchdが全部やってくれます。僕らは無限ループのプログラム書くだけ。

このファイルを作っておくだけ

~/Library/LaunchAgent/com.gmail.takuya_1st.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>takuya_1st.gmail</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/sbin/gmail.rb</string><!-- ここに常駐させたいプログラムのパス-->
  </array>
  <key>RunAtLoad</key><!-- ログイン時に起動するか? -->
  <true/><!-- もちろん:YES -->
</dict>
</plist>

設定をロードする

launchctl load takuya_1st.gmail # Labelで指定した名前

これで設定おわり。


これで終わり。

あとは、Gmail通知が起動時にばんばん入ってうれしい感じです。

すぐに起動したいときは、

launchctl start takuya_1st.gmail # Labelで指定した名前

起動状態を見たいときは

launchctl list | grep takuya_1st.gmail # Labelで指定した名前

できあがり。

あと、通知はだいぶウルサいように作ってあります。

GTDライフハック的にGmailを使えるようにInboxに未読を残さない。

Inbox(受信トレイ)は、いつも未読0件+次のTODOだけ。というのが目標なので。