Miranda IMに移行した

最近Windows Live Messegerの代わりにMiranda IMを使うようになった。Windows Live Messengerは2011になって広告スペースが増えただけでなく、ニックネームとしてLiveアカウントに登録した名前が使われるようになった。これでは不便なので、別のソフトウェアに移行することにした。探した中で一番軽くてよさそうだったのがMiranda IMだった。

Miranda IMを使い始めて最初にはまったのは、メッセージのフォントの設定方法である。メッセージの描画がおかしいので、フォントの設定を直せばよいのだろうと思って、Options→Customize→Fonts & Colors→Chat ModuleのフォントをMeirio UIに設定してみたが直らない。直さなければいけないのはMessage Logのフォントだった。
Fonts and Colorsの一覧に並んでいるのはプラグインが登録した名前で、MSNプロトコルプラグインがメッセージの送受信に使っているのは、SRMMというプラグインで、そのプラグインの登録した名前がMessage Logというわけだ。IRCとAIMの場合はChat Moduleのフォントを直す必要があるようだ。

MSNプロトコルの設定でフォントの設定をメッセージに載せるかを指定できるのだが、有効にしてもフォントの設定が送信されなかった。調べてみたら、これは機能しないことがわかった。データベースからフォントの設定を読み出して送信する機能は実装されているのだが、データベースから読み出すキーが正しくない。直そうかと思ったのだが、開発中の最新版はフォント周りがかなり変わっていて、フィードバックが面倒なので手を出さなかった。

MSNに再接続すると、ニックネームがLiveアカウントに登録した名前のファーストネームに戻ってしまう問題もあった。これはIssuesに登録されていて解決策も示されている。今までに付けたことがないニックネームを付けて再接続してから、本当に付けたいニックネームを付ければよいとのこと。Live MessengerでサインインしたことがあるアカウントでMiranda IMでMSNに接続すると、この問題が生じることがあるらしい。

あとはいくつか不便な点があったのでプラグインで補強した。メッセージの履歴が見づらいのでHistory++を、新しいメッセージが来たときにわかりづらいのでPopUp Plusを入れた。

MSNプロトコルのフォントの設定の問題を調べるために、Miranda IMソースコードをVisual C++ 2010 Expressでビルドしてデバッグしたので、その際にはまったことも書いておく。

Subversionリポジトリのtrunkのビルドの際にwinres.hがないと言われるので、まずC:/Program Files/Microsoft SDKs/Windows/v7.0A/Include/WinResrc.hをwinres.hにコピーする。コピーしたwinres.hの最後に以下のように、ISC_STATICの定義を挿入する。

#ifndef IDC_STATIC
#define IDC_STATIC (-1)
#endif

#endif /* _WINRESRC_ */

この作業はすべて管理権限が必要なので注意してほしい。Windows Vista/7では管理者として起動したメモ帳などを使う必要がある。リポジトリのbranches/stableのビルドではさらにafxres.hがないと言われるが、これはafxres.hをwinres.hに書き換えてしまえばよい。