LimeChat for OS X 0.3 (つづく)

先週も書いたけどLimeChat for OS Xとてもいい。
2年ぐらいまえ、OS Xのirc clientに何かいいのがないかいろいろ調べたんだけど、だんとつにコレだ。

当たり前だがパスワードつきirc serverへの接続ができるし、キー入力フォーカスがアプリケーションのどこにあっても発言できる。現在のIRCatのように、いちいちメッセージ入力欄にキー入力フォーカスを持っていかないと発言できないものは窓から捨てたほうがいい。chocoaやirchat, lieceを思わせる、あるべきものがあるべきところにあるシンプルなデザインも大変よろしい。irc clientは生活の道具なので、お飾りは不要だ。

あとは複数行ペースト発言ができばいいかな。まあでも2〜3行なら手でコピーしてペーストして発言していけばいいと言えるし、それ以上の大量コピペはうざい。
複数行発言がなければ、うっかりペーストで公害を起こしたり、irc serverからexcess floodで蹴られる事故もない。

(追記: LimeChat for OSX 0.3は複数行ペーストに対応していました。ただ、たとえばCarbon Emacsでコピーした複数行テキストをLimeChatにペーストした場合、改行が \r だったので、LimeChatに複数行だとみなされていなかったようです。追試して、パッチを作者のかたにお送りしました - 2007/7/14)
chocoaは複数行ペースト発言の際に一行ずつに入れるウエイトまで設定できたのが注意深かった。irchatのように、Emacsのバッファにヤンクしておいて、なぞりながらReturnを打っていくのが最良だった気がするが、これはEmacsならではのユーザインタフェースであって一般化はむずかしいだろう。

使っていてちょっと足りないなというところはあったけど、そこはせっかくRubyCocoaでGPL2なので自分でいじればいい。
(中をみればライセンスがわかるのですが、外に明記してあったほうがいいとおもいました)

キーワード登録はできるけど、これはアプリケーションが最小化されているときに誰かがキーワードをしゃべるとアイコンがDockから跳ねる、というもの。僕がほしいのはキーワードに応じて音が鳴る機能で、これがないと仕事面できびしい。

--- LimeChat.app-/Contents/Resources/unit.rb 2007-06-26 18:24:13.000000000 +0900

+++ LimeChat.app/Contents/Resources/unit.rb 2007-07-10 20:05:29.000000000 +0900

@@ -617,10 +617,8 @@

end

def set_keyword_state(t)

- return if NSApp.isActive && @world.selected == t

- return if t.keyword

return if !t.unit? && !t.config.keyword

- t.keyword = true

+ OSX.NSBeep

reload_tree

NSApp.requestUserAttention(NSCriticalRequest) unless NSApp.isActive

end

Command-→, Command+← でチャネルを行き来できると、ちょっとChocoaふうに使い勝手が向上。

--- LimeChat.app-/Contents/Resources/mainwindow.rb 2007-06-26 18:24:13.000000000 +0900

+++ LimeChat.app/Contents/Resources/mainwindow.rb 2007-07-10 20:04:53.000000000 +0900

@@ -72,10 +72,10 @@

@key_delegate.number(keynum(k))

return

when 123 #left

- @key_delegate.commandLeft

+ @key_delegate.commandDown

return

when 124 #right

- @key_delegate.commandRight

+ @key_delegate.commandUp

return

when 125 #down

@key_delegate.commandDown

メインウインドウのフォントをもうちょい小さく

--- LimeChat.app-/Contents/Resources/log.rb 2007-06-26 18:24:13.000000000 +0900

+++ LimeChat.app/Contents/Resources/log.rb 2007-07-04 16:08:29.000000000 +0900

@@ -227,7 +227,8 @@

<style>

body {

font-family: 'Osaka-Mono';

- font-size: 10pt;

+ font-size: 8pt;

word-wrap: break-word;

margin: 3px 4px 10px 4px;

padding: 0;

あとは、インタフェースビルダで各種フォントを調整したり、チャネルのConnect, Disconnectに Command-N, Shift-Command-Nを割り振ったりした。これでかなり最強な状態に。