MacOSX で w3mimgdisplay

w3m が画像表示してくれないと死んでしまうので、風邪で死にながら作りました。

http://shinh.skr.jp/koneta/w3mimg_cocoa.tgz

スクリーンショット

http://shinh.skr.jp/koneta/w3mimg.png

んーと透明の Window を端末のピッタリ上にはるって設計なので、画像出てる時に screen 切り替わったり他の Window がかぶってたりすると嬉しくないことになるけど、まーそのへんは適当に。そもそも screen 動いてるとちょっとズレるけどまーそのへん細かいことは気にしない子なので大丈夫。むしろ screen 切り替えた時のフックとして現在の Window を上に上げる、っていうようなコマンド書いてやるといいかな(TODO)。

そういや画像ファイル読んだ時の NSImage は 24bpp か 32bpp になってると仮定してるのはマズそうだけどまぁ動いてるぽいので良し。なんかたまにおかしい画像見かけるような気もするけど大勢に影響無いしいいです。誰かきちんと仕上げてください。てか本家に入れてもらうようにすべきなのかなー。

あと現在の Window 位置を取得するのに CoreGraphics の隠し API 使ってるので、そのへんで互換性に難がある可能性高いです。そもそも CGSGetOnScreenWindowList でフォーカス順に帰ってくるって気付いたからそれ利用してるけど、 undocumented なだけにそれ頼ったらあかんやろと。もっといい方法あったらいいんだけど。 Apple 的には Accessibility API 使えって話らしいです。

なんかさっそく G4 iBook でうまいこと動いてないぽい話を聞きました。まぁとりあえず自分とこで動けばいいけど。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h