<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Supernova &#187; growl</title>
	<atom:link href="http://blog.dealforest.net/category/growl/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dealforest.net</link>
	<description>be careful, be bravely</description>
	<lastBuildDate>Wed, 01 Sep 2010 15:18:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>github のフィードを Growl で表示する GitHubGrowler が便利</title>
		<link>http://blog.dealforest.net/2009/05/respond-to-grwol-for-github/</link>
		<comments>http://blog.dealforest.net/2009/05/respond-to-grwol-for-github/#comments</comments>
		<pubDate>Fri, 29 May 2009 14:21:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[growl]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://blog.dealforest.net/?p=484</guid>
		<description><![CDATA[
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] =&#62; [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


&#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62;
&#60;!DOCTYPE plist PUBLIC &#34;-//Apple//DTD [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://twitter.com/typester/status/1958246284">id:typester さんの発言</a> を見て github-growler なるものがあることを知る。宮川さん作。<br />
で、さっそく設定をしてみた。<br />
ソースは github からダウンロード。(<a href="http://github.com/miyagawa/github-growler/tree/master">ここ</a>)
</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">git clone http://github.com/miyagawa/github-growler.git
cd github-growler
perl github-growler.pl [userID] [APIキー]
(※APIキーは [home] =&gt; [account] に書いてあります)</pre></div></div>

<p>
これで動くようになればok.<br />
これ自身がデーモンなので、そのまま放置しとくと新しい動きだけを表示してくれる。
</p>
<p>
毎回 UserID と APIキー の入力がめんどい場合は git config で登録しておけばよい。
</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">git config --global github.user [userID]
git config --global github.token [APIキー]</pre></div></div>

<p>
default で取得間隔と表示最大数は変更できる
</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">defaults write net.bulknews.GitHubGrowler interval [取得間隔(秒)]
defaults write net.bulknews.GitHubGrowler maxGrowls [表示最大数]</pre></div></div>

<p>設定ができてるかはこれで確認</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">defaults read net.bulknews.GitHubGrowler interval</pre></div></div>

<h3>自動起動の設定</h3>
<p>
実行するとデーモンがたちがあるけど、ログイン毎にするものめんどくさい。<br />
というわけで launchd を使って自動起動の設定をしてみた。
</p>
<p>
<a href="http://gist.github.com/119963">gist</a>  から DL するかもしくは下記のをコピペしてください。<br />
置き場所はここ。<br />
~/Library/LaunchAgents/net.bulknews.GitHubGrowler.plist
</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
&lt;plist version=&quot;1.0&quot;&gt;
&lt;dict&gt;
    &lt;key&gt;Label&lt;/key&gt;
    &lt;string&gt;net.bulknews.GitHubGrowler&lt;/string&gt;
    &lt;key&gt;ProgramArguments&lt;/key&gt;
    &lt;array&gt;
        &lt;string&gt;絶対パス /github-growler/github-growler.pl&lt;/string&gt;
        &lt;string&gt;ここに UserID &lt;/string&gt;
        &lt;string&gt;こっちに API キー&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;RunAtLoad&lt;/key&gt;
    &lt;true/&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</pre>
<p>
github-growler.pl までの絶対パスと UserID と APIキーを変更してください。
</p>
<p>
launchd に登録(登録すると自動起動するようにしてある)
</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">launchctl load ~/Library/LaunchAgents/net.bulknews.GitHubGrowler.plist</pre></div></div>

<p>
エラーは /var/log/system.log  にでます。<br />
これで動かない場合は userID, APIキー が合ってるか確認してください。<br />
net.bulknews.GitHubGrowler.plist を変更した際は一度 unload して再度、load してください。<br />
そうしないと反映されないみたいで地味にはまった。。。
</p>
<p>
あとuserID や APIキー が script に渡っていない場合はこんな感じのエラーができます。
</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">May 29 21:12:46 imac net.bulknews.GitHubGrowler[1358]: Can't exec &quot;git&quot;: 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 &quot;git&quot;: No such file or directory
May 29 21:12:46 imac net.bulknews.GitHubGrowler[1358]: Use of uninitialized value $token in scalar chomp</pre></div></div>

<p>
ちょっと動かしてみたけど、ほんとに世界がかわったw<br />
前まで RSS リーダーとかで見てたけどこっちの方が全然いいなぁ〜
</p>
<h3>参考資料</h3>
<p><a href="http://www.maruko2.com/mw/LaunchDaemons_(launchctl,_launchd.plist)_%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9">LaunchDaemons (launchctl, launchd.plist) の使い方</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dealforest.net/2009/05/respond-to-grwol-for-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
