WanderlustからThnunderbirdへの移行を考えていたわけだが、その前にWanderlustで溜まっている未処理のメールを処理しなくてはならない。
それを考えるとしばらくWanderlustを使い続けることになる。
そこで、Wanderlustの使用感を向上するために、ちょっといろいろやってみた。
まず、POPと同時にelmo-splitを使ったメッセージのフォルダへの振り分けを行い、さらに、未読数を更新してinboxフォルダを開く。
まあ、このinboxフォルダを開くのは、やりすぎ感はある。元のフォルダを維持した方が良いかもしれない。というのは、実際には、他のフォルダに振り分けられてしまい、inboxにはメールは入っていないことも往々にしてあるからだ。
が、inboxにメールを貯めないためにも開く、と言うことにしておこう。
最後にwl-summary-exitを呼ぶかはしばらく使ってから決めよう。
adhocだが、まあやりたいことは実現できているのでよしとする。
(defun my-wl-inc-pop-message ()
(interactive)
(switch-to-buffer "Folder")
(delete-other-windows)
(wl-folder-sync-entity "|&192.168.1.2%nor@192.168.1.5:7071|+inbox")
(elmo-split)
;;; (wl-folder-check-entity "Desktop")だとエラーが出ることがあるので?
(wl-folder-jump-folder wl-folder-desktop-name t)
(wl-folder-check-current-entity)
(wl-folder-jump-folder "+inbox")
(wl-folder-jump-to-current-entity)
(wl-summary-pack-number)
; (wl-summary-exit) ;;; 最後に+inboxを閉じるのであればコメントアウト
)
考えてみれば、my-wl-inc-pop-messageを実行するのはFolderバッファでなので、最初の2行は不要かも…
今回わかったこと。
POPのパイプフォルダにおいて、wl-folder-check-current-entity(s)では、取り込みは行われない。
wl-folder-sync-current-entity(S)では、取り込まれる。
すなわち、パイプフォルダからの取り込みを行うには、わざわざwl-folder-jump-to-current-entityをしなくても、wl-folder-sync-current-entityをするだけでいい。
wl-folder-jump-folderでは、(wl-folder-jump-folder "+target_folder" t)のようにopt argをつけるとフォルダを開かない。
だから、この後にwl-folder-sync-current-entityをすれば、パイプフォルダの取り込み完了。ただし、inboxのメッセージ数は更新されない。
Desktop entityの認識が不安定な気がする
Desktopに限ったことではないが、wl-folder-jump-folderなどでフォルダが見つからない、というメッセージが出てエラーになることが、まれにある。
こんなダラダラコードを書かずに、メッセージが移動した後に呼ばれるelmo-pipe-drained-hookを使って、それ以降の処理をしたほうが美しいかもしれない。もっとも急いでメールを読みたいときには、振り分けする時間も惜しいこともあるので、よしとしよう。
まあ、このほかにも、マニュアルを見たり、ソースを見たりしながら、ごちゃごちゃと設定した。
正直Wanderlustに対する未練もまだある。
Thunderbirdの全フォルダ検索は非常に魅力だが、フォルダ破壊はかなり痛いバグだし、フォルダ圧縮に対応していないので、フォルダの肥大も好ましくない。
9ヶ月使って、約500M。本メールアドレスもこちらに移せば、1年で2Gは行ってしまうだろう。まあそうは言っても、残りの人生が50年だとしても100Gだからこれは問題ないか(笑)そして、全フォルダ検索は、Googleデスクトップ検索+Gmail転送でも代替できないことは無い。
となると、Wanderlustを引き続き使い続けるというのも、ありかもしれない…