LimeChat for Mac を自分用に改造した

個人的にはどうしてか 2006 年以来 IRC を使わなくなっていました。 ところが追っかけている人が ustream でストリーミングをやっていることを知り、そこの IRC チャットが随分と盛り上がっている様子だったので、最近になって IRC の利用を再開しました。 (ちなみに手嶋屋社内では社内ネットワークにダメージを与えたことのある Skype の使用をやめ、オープンなプロトコルの XMPP を常用しています)

どうやら Mac OS X の IRC クライアントといえば LimeChat ( http://limechat.net/mac/ja.html ) 一択のようだったので早速インストールし、 1 ヶ月ほど使用していましたが、以下の点で不満を感じていました。(しかも Windows 版ユーザはスクリプトによって目的を達成することができているらしい……)

「特定のホスト名(ストリーミングをおこなっている者、お子様など)の発言のみを強調あるいは不可視にしたいのだができない」

LimeChat for OS X は各画面が HTML で構築されており、 WebKit によって各画面がレンダリングされるようで、付属のスキン機能を利用して CSS や JavaScript などで外観を変えることができます。このスキン機能を使ってなんとかできないものかと試行錯誤しましたが、 CSS や JavaScript で介入できるのは当然ながら既に構築された HTML のみとなってしまうため、 HTML に含まれていないホスト名等の情報は当然ながら利用することができません。

通常ならばここで不満を言いつつ利用を継続するか、他のクライアントを捜すかするところですが、 LimeChat for Mac はオープンソースであり、そして僕はプログラマです。 自分に現状を変える余地があるにもかかわらず不満を言ったりバッシングしたりするだけというのは、オープンソースの利用者としてはあまりいい行動ではありません。

ということで、気がついたときには GitHub の自分のリポジトリにパッチが上がっていました。何が起こったのかわからねーと思うが(ry
http://github.com/ebihara/limechat/commit/8f159c001a3cdc08ea05c57854320599d069bbcf

いままで全くの いちユーザでしかなかった自分がこうしてパッチを作り、公開できるのは Git や GitHub がハックの敷居を(短期的、長期的、そして精神的な意味でも)著しく下げてくれたおかげであり、本当に素晴らしい時代だなと感じています。(これから pull request を送ろうと思いますが、もし採用されたら contributor の仲間入りということで、もっと素晴らしいですね)

あと Objective-C や Cocoa での開発経験がない僕が簡単に修正をおこなうことができたのは LimeChat でも採用されている RubyCocoa のおかげです。こんなに簡単に手を入れられるのであれば自分でも何か Cocoa アプリケーションを書いてみたくなりますね。非常に楽しい時間でした。

みなさんもなにか不満に感じている OSS などあればパッチなど送ってみてはいかがでしょうか。 OpenPNE 3 とか!

comments powered by Disqus

Recently entries