github のフィードを Growl で表示する GitHubGrowler が便利
id:typester さんの発言 を見て github-growler なるものがあることを知る。宮川さん作。
で、さっそく設定をしてみた。
ソースは github からダウンロード。(ここ)
git clone http://github.com/miyagawa/github-growler.git cd github-growler perl github-growler.pl [userID] [APIキー] (※APIキーは [home] => [account] に書いてあります)
これで動くようになればok.
これ自身がデーモンなので、そのまま放置しとくと新しい動きだけを表示してくれる。
毎回 UserID と APIキー の入力がめんどい場合は git config で登録しておけばよい。
git config --global github.user [userID] git config --global github.token [APIキー]
default で取得間隔と表示最大数は変更できる
defaults write net.bulknews.GitHubGrowler interval [取得間隔(秒)] defaults write net.bulknews.GitHubGrowler maxGrowls [表示最大数]
設定ができてるかはこれで確認
defaults read net.bulknews.GitHubGrowler interval
自動起動の設定
実行するとデーモンがたちがあるけど、ログイン毎にするものめんどくさい。
というわけで launchd を使って自動起動の設定をしてみた。
gist から DL するかもしくは下記のをコピペしてください。
置き場所はここ。
~/Library/LaunchAgents/net.bulknews.GitHubGrowler.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.bulknews.GitHubGrowler</string>
<key>ProgramArguments</key>
<array>
<string>絶対パス /github-growler/github-growler.pl</string>
<string>ここに UserID </string>
<string>こっちに API キー</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
github-growler.pl までの絶対パスと UserID と APIキーを変更してください。
launchd に登録(登録すると自動起動するようにしてある)
launchctl load ~/Library/LaunchAgents/net.bulknews.GitHubGrowler.plist
エラーは /var/log/system.log にでます。
これで動かない場合は userID, APIキー が合ってるか確認してください。
net.bulknews.GitHubGrowler.plist を変更した際は一度 unload して再度、load してください。
そうしないと反映されないみたいで地味にはまった。。。
あとuserID や APIキー が script に渡っていない場合はこんな感じのエラーができます。
May 29 21:12:46 imac net.bulknews.GitHubGrowler[1358]: Can't exec "git": No such file or directory May 29 21:12:46 imac net.bulknews.GitHubGrowler[1358]: Use of uninitialized value $user in scalar chomp May 29 21:12:46 imac net.bulknews.GitHubGrowler[1358]: Can't exec "git": No such file or directory May 29 21:12:46 imac net.bulknews.GitHubGrowler[1358]: Use of uninitialized value $token in scalar chomp
ちょっと動かしてみたけど、ほんとに世界がかわったw
前まで RSS リーダーとかで見てたけどこっちの方が全然いいなぁ〜
参考資料
LaunchDaemons (launchctl, launchd.plist) の使い方