2013年10月22日火曜日

Windowsでもておくれになろう! ~mikutter on Windows~

さてみなさん、Twitterしてますかー?(挨拶)

最近はもうtwitterもブームが過ぎて安定期という感じですね。


twitterはクライアントを作成することができますが、
rubyで日本人の手によって書かれたておくれな素晴しいクライアントがあります。

その名もmikutter

詳細はこことかここ見てね

ArchLinuxはAURに、GentooLinuxはPortageの公式レポジトリに登録されており、
誰でも[要出典]簡単にmikutterをインストールできることが知られています。

最近はなんとDebianの公式レポジトリにも登録されたので、
ついでにUbuntuでもPPAを追加することなく apt-get install mikutterとするだけで
インストール可能です。 ベネ。


閑話休題

rubyということはマルチプラットフォームなはずですが、GTKを用いているために
Linux以外と相性が悪いです。
( ^o^)Macでmikutter起動できた

( ˘⊖˘)。o(待てよ、なんでMacでmikutter起動できたんだ…?) 

|@toshi_a| ┗(☋` )┓三 

( ◠‿◠ )☛ なんで作者ができないのにお前ができるんだよ垢消せ

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわああああああ
-mikutter公式ページFAQより 

ということなので、Macでも動いたり動かなかったりなのに
Windowsはさらに茨の道です。


実は私も以前試したことがあるのですが、
mikutter 0.0.3以上はWindowsで動かそうとすると何故か起動直後に応答しなくなって落ちてしまいました。


しかし、mikutter wikiに最新のmikutterをWindowsで動かす方法が最近追加された模様。

これについてすこし解説します(+パッチつくりました)。




やりかたはWikiの通りです。
まずrubyinstallerからruby1.9以上をダウンロード&インストールします。
32bit版のほうを入れるのがベター。
この時、RubyをPATH環境変数に登録するように設定すると後がラクです。
ここで、rubyinstallerのページにあるDevKitは必要ありません

DevKitでgtkのnative extensionをビルドしたとき、どうやらmikutterの応答が無くなります。
私がハマってたのはここでした。
なので、bundlerを使うとよろしくないです。
自分で必要なgemを全てインストールする必要があります。

次のパッケージをgem install <package name>でインストールしましょう。
addressable
bsearch
memoize
oauth
typed-array
ruby-hmac
gtk2
これらは、mingw32で既にビルドされたものが降ってきます。
安心ですね。

次にmikutterのページから最新版のmikutterをダウンロードして、解凍してください。
0.2.2.1373は動作確認しました。

あとは、コマンドプロンプトを開いて、解凍したmikutterのフォルダまで移動して、
ruby mikutter.rb
とコマンドを打てば起動します。

または、ショートカットを作成し、
リンク先を
<Rubyをインストールしたフォルダ>\bin\rubyw.exe <mikutterのフォルダ>\mikutter.rb
そして作業場所を
<mikutterのフォルダ>
としてショートカットをクリックするだけでmikutterを実行するのも良いでしょう。
私はそれぞれ、
D:\Ruby\bin\rubyw.exe C:\Users\orumin\mikutter\mikutter.rb
C:\Users\orumin\mikutter\
と設定したショートカットをタスクバーに登録しています。

さあ、これでみなさん、Let’s \(・ω・)/ておくれ!



んん、ちょっとまってください。
これじゃ、mikutterを起動しても、popup通知も音声通知もありません。
mikutterを使う意味が激減(当社比)します。これはよくありません。

mikutter wikiに曰く、

音が出ない


パッチを書くか、あきらめてください。
だそうなので、パッチとプラグインを書きました。

まずは音声通知。
gem install win32-soundを実行し、rubyからでもWin32APIで音を鳴らせるようにします。
%USERPROFILE%.mikutter\フォルダにpluginフォルダを作成しておいてください。
https://github.com/orumin/mikutter-win32soundからプラグインをダウンロードし、
先程作成したpluginフォルダにwin32soundというフォルダ名でコピーor移動して下さい。

あとは、設定で、サウンドをALSAからWin32APIに変更し、
通知のところで好きな音声を設定してください。
mikutterフォルダの、core\skin\data\soundにあるデータとかおすすめですね!!!!!


次にpopup通知。
これはまずGrowl for Windowsをインストールし、Growlを先に起動しておく必要があります。
次にgemで、 growlとruby_gntpの二つのパッケージをインストールしましょう。
最後に、次のパッチをmikutterフォルダに当ててください。
CygwinやGoWを入れてない環境では、
http://gnuwin32.sourceforge.net/packages/patch.htm
のBinariesからダウンロードし、そのpatchコマンドを使ってください。
もしエラー吐いたら--bainaryオプション付けたりコマンドプロンプトを管理者権限で
実行すると良し。
ダウンロードしたpatchコマンドをC:\Windows\System32に放り投げておくと、
他のコマンドプロンプトのコマンドと同様に実行できますがあんまりオススメしません。
patchコマンドの使い方はググれ。

あとは設定の通知のところで、ポップアップにチェック入れるの忘れないでね。
さあ、これでWindowsでもmikutterで音声とpopupによる通知を受け取れます!!!!
ておくれたのしい! ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌