2008年8月27日水曜日

fiberで添付ファイルを開く

Windows Vista で Meadow で Wanderlust 使ってて、これまでは添付ファイルは一旦ディスクに保存して開いていたけど、いい加減面倒になってきたので v (mime-preview-play-current-entity) で開けるようにした。

まず、~/.mailcapを作って以下のように記述

application/*; fiber -s '%s'
image/*; fiber -s '%s'


%s をシングルクォートでくくっているのは、ファイル名が日本語の時に、末尾に改行コードっぽいのが紛れ込んで認識できない事があったから。
シングルクォートでくくったら、なぜかOK。

cygwin のシェル経由で fiber を起動するので、文字コード/改行コードを明示的に指定。

(modify-coding-system-alist 'process ".*sh\\.exe" '(sjis-dos . sjis-unix))


そんで、何故だか FLIM の mime-format-mailcap-command がマルチバイト文字の前に'\'を追加するので、.wl に以下を追加して除去。

(eval-after-load "mime-conf"
'(defadvice mime-format-mailcap-command
(after remove-escape-chars activate)
"Remove all '\\' characters in return value of mime-format-mailcap-command "
(while (string-match "\\\\" ad-return-value)
(setq ad-return-value (replace-match "" nil t ad-return-value)))))


これで開けるようになった。