mh-biff の使い方
まだまだ極簡単な説明しか書いていません。しかも mh-biff.el の中に書いてあるようなことばかり…。なおバージョン 0.95 からはパッケージの中に info が入っています。もしかしたらそちらのほうが詳しいかもしれない。まぁ徐々に充実させていくつもりですので、たまには覗いてみてください。
- mh-biff って何?
- 入手方法
- まずは準備
- こんなときどうすればいいの?
- 履歴
- 謝辞
- 取り扱い
mh-biff.el は MH の slocal & rcvstore 等を使用して到着メールの自動配送処理をしているため、通常ではメールの到着を知ることのできない MH ユーザの為に、新着メールを教えてくれる elisp です。
もちろん、slocal じゃなくて他の自動配送ツール(例えば procmail 等)を使用している人でも、フォルダへの格納を rcvstore で行なっていれば mh-biff を使用できます。
また自動配送処理の設定をしていなくても、RPOP 対応の MH ユーザならば Auto inc の機能も使用して、例えばメールのスプールが別のホストの為、通常ではその到着を知ることのできない場合でも、新着メールのチェック、及び自動的に inc をしてメールの到着を教えてくれます。
なおバージョン 0.96 からは RPOP 以外の、つまりパスワードを尋いてくる POP にも仮対応しています。
もちろんそれ以外の MH ユーザも使用できます。ただし display-time を使用している人はメールの到着表示がかちあっちゃいます。それでも良いという人はかまいませんが、それ以外の人は display-time を止めてください。大丈夫、時間表示の機能は mh-biff にもあります。(^^
現物を見てもらいましょ。
![[全体図 (GIF)]](root.gif)
これは全体図なんですが、ちと見にくいよね、これじゃあ。
一応コレが普段の私の仕事環境です。3 枚の黒い window は mule の frame です。左側の frame が主な作業をするところ。右側が mh-e 用。そして上側にあるのが mh-biff 用の専用 frame です。
これをちょっと拡大しましょう。
![[Frame 図 (GIF)]](window.gif)
これが mh-biff の frame です。自動 scan をしていますので、メールが来ますとこのように frame に表示されます。
![[モードラインの図 (GIF)]](window2.gif)
そしてこのモードライン(白い帯の所ね)に簡潔にどのようなメールが到着しているかが表示されます。
上の例ですと、全部で 9 通のメールが来ており、フォルダ +mnews の記事番号 716 〜 718 と、フォルダ +su の記事番号 916 〜 921 が新着メールであるということです。
これは私の設定ですので、個人的に表示方法はある程度変更できます。
97/10/10 時点ではバージョン 0.97 が最新です。
こちらの ディレクトリ からどうぞお持ち返りくださいませ。
- まずは自分の MH の PROFILE(大抵の人は ~/.mh_profile だと思いますが)の中に
Unseen-Sequence: unseen
の行を入れてください。mh-e は対応していますが、このシーケンスのフィールドをサポートしていない MH Mail Reader の為に一応関数 (mh-biff-delete-unseen-sequence) は用意しています。
- mh-biff.el を load-path の通ったディレクトリに入れてください。
- ~/.emacs に次の行を追加してください。
(autoload 'mh-biff-scan "mh-biff" "MH biff" t)
(autoload 'mh-biff "mh-biff" "MH biff" t)
- 自分の使用する MH のある場所を確かめてください。デフォルトでは "/usr/local/bin/mh" と "/usr/local/lib/mh" になっています。違う場合は ~/.emacs の中で変更してください。
例)
(setq mh-biff-bin-path "/usr/contrib/mh/bin")
(setq mh-biff-lib-path "/usr/contrib/mh/lib")
- では適当なところで ~/.emacs に以下の行を追加してください。ただし、適当といっても mh-biff の為の設定(変数の指定等)の後に追加してください。
(mh-biff)
- ~/.emacs の中で (display-time) を使用している人は (mh-biff) をその前に書きますと、メールの到着は時間表示の前に、また後に書きますと時間表示の後に表示されます。御好きなほうをどうぞ。また mh-biff 独自にも現在時刻表示は可能です。こちらを使用する場合は ~/.emacs の中に次の行を追加してください。
(setq mh-biff-display-time-flag t)
- RPOP 対応の MH ユーザで、Auto inc 機能を使用する人は、自分の MH の PROFILE(大抵の人は ~/.mh_profile だと 思いますが)の中で、inc と msgchk に POP サーバの指定をしてください。
例)
Inc: -host host-name -rpop
Msgchk: -host host-name -rpop
- さぁこれで基本的な準備は終わりです。お楽しみください。
ここに記述していることは、いわゆる mh-biff の FAQ です。私宛
に直接メールで質問されてもお答えはしますが、その前にここを御覧になって
みることを御勧めします。
そんなに大した elisp じゃないですから、このページを御覧いただければ、
御知りになりたいことは十分に判ると思いますよ。
なお質問には、あなたが使用している OS 、emacs や mule のバージョン、そ
して mh-biff.el のバージョンも教えてください。でないと質問に答えられな
い場合があります。
また、お使いになっているメーラーとの問題でしたら、そのメーラーの名前と
バージョンも教えてください。ちなみに私は mh-e 5.0 と mew 1.54 をのどち
らかを使用しています。(その日の朝の気分で、コロコロ変わるんです。^^)
- 未読メールを監視するフォルダを指定したい。
- 未読メールを監視するフォルダの指定とは別にモードラインに表示されるフォルダを指定したい。
- サブフォルダは未読メールの監視対象から外したい。
- 未読メール到着の監視をする時間間隔を変更したい。
- 新しい未読メールが到着したら beep を鳴らしたい。
- Auto inc 機能を使いたい。
- 独自の frame が起動されるのを止めたい。
- 到着メールを自動的に scan するのを止めたい。
- mh-biff 独自の時間表示機能を使いたい。
- mh-biff の起動が滅茶苦茶遅いんだけど。
- メールを読んでも未読情報が消えないんだけど。
- 未読メールを監視するフォルダを指定したい。
未読メールを監視するフォルダの指定には変数 mh-biff-folders-list を設定してください。デフォルト値は nil であり、全フォルダが監視されます。
例)
(setq mh-biff-folders-list '("inbox" "test"))
- 未読メールを監視するフォルダの指定とは別にモードラインに表示されるフォルダを指定したい。
未読メールを監視するフォルダの指定の他に変数 mh-biff-mode-line-folders-list を設定してモードラインに表示したいフォルダを指定することができます。デフォルト値は nil で変数 mh-biff-folders-list で指定されたフォルダがモードラインに表示されます。
例)
(setq mh-biff-mode-line-folders-list '("inbox"))
- サブフォルダは未読メールの監視対象から外したい。
変数 mh-biff-folders-list が設定されていない場合、サブフォルダも含めて全てのフォルダが監視されます。しかしサブフォルダはその必要がない場合は変数 mh-biff-recursive-folders-flag を nil に してください。これによりサブフォルダは監視の対象から外されます。
例)
(setq mh-biff-recursive-folders-flag nil)
- 未読メール到着の監視をする時間間隔を変更したい。
メールの到着を監視する時間間隔の指定には変数 mh-biff-interval-time を設定してください。デフォルト値は 30 秒です。
例)
(setq mh-biff-interval-time 60)
- 新しい未読メールが到着したら beep を鳴らしたい。
新しい未読メールの到着時に beep をならしたい場合等にはフック変数 mh-biff-mail-arrive-hook を設定してください。デフォルト値は nil です。
例)
(setq mh-biff-mail-arrive-hook '(lambda ()
(let ((visible-bell t)) (ding))
(let ((visible-bell nil)) (ding))))
- Auto inc 機能を使いたい。
変数 mh-biff-auto-inc-flag を t に設定しておくと自動的にユーザのメールスプールのチェック及び inc を行ないます。デフォルト値は nil でチェックしません。この機能を使用したい場合は以下の行を ~/.emacs に追加してください。
(setq mh-biff-auto-inc-flag t)
- 独自の frame が起動されるのを止めたい。
mule2 (emacs 19) でかつ Window system で起動されている場合に、独自に frame を使用するかどうかを指定できます。デフォルトでは使用します。したくない場合には次の行を ~/.emacs に追加してください。
(setq mh-biff-frame-up-flag nil)
- 到着メールを自動的に scan するのを止めたい。
mh-biff では到着メールがありますと、自動的にそのメールを scan してバッファに書き込みます。これを行ないたくない場合には次の行を ~/.emacs に追加してください。
(setq mh-biff-auto-scan-flag nil)
- mh-biff 独自の時間表示機能を使いたい。
mh-biff 独自にも現在時刻表示は可能です。この機能を使用する場合は ~/.emacs の中に次の行を追加してください。
(setq mh-biff-display-time-flag t)
これにより時間表示が行なわれます。またこの時間表示を後にしたい場合は t ではなく、負でない数値を設定してください。(バージョン 0.9 以上)
(setq mh-biff-display-time-flag 0)
- mh-biff の起動が滅茶苦茶遅いんだけど。
おそらく MH のコマンド folder の速度が遅いのでしょう。
% folder -a -r -f
としてみてください。遅くありませんか?
もし多数のフォルダをお使いの場合は、監視するフォルダを指定したほうが効率が良いです。監視の必要なフォルダは普通 ~/.maildelivery の中で指定してあるフォルダだけだと思います。
未読メールを監視するフォルダを指定したい。 を参考にしてください。
- メールを読んでも未読情報が消えないんだけど。
お使いの mail reader は何ですか? mh-e は問題ないハズです。もし mew を使用しているようでしたら次のように mew-message-hook を設定してください。ただし mh-biff はバージョン 0.92 以上が必要です。
(add-hook 'mew-message-hook
'(lambda ()
(and fld msg (not (boundp 'program))
(mh-biff-delete-unseen-sequence fld msg))))
注)以前までと違って (not (boundp 'program)) がはいってます。これを指定しておかないと Linux でゾンビが出現してしまうことが報告されています。
なお先日まで (not (boundp 'type)) としていましたが、私が確認した範囲では mew 1.51 以降で type はなくなってしまっているようなので program に変更します。
主な修正の履歴です。
- ver 0.10 <95/05/28> : 初期バージョン (emacs 19 以上対応)
- ver 0.20 <95/05/31> : モードラインの表示カスタマイズ可能
- ver 0.21 <95/05/31> : 未読フォルダのリストを表示可能
- ver 0.30 <95/06/02> : 各フォルダ毎の表示カスタマイズを可能
- ver 0.31 <95/06/02> : 高速化、及びバグ修正
- ver 0.40 <95/06/02> : 監視フォルダの指定可能
- ver 0.50 <95/06/05> : emacs 18 対応
- ver 0.52 <95/06/06> : Unseen-Sequence: 正式対応
- ver 0.53 <95/06/09> : 独立 frame 対応 (emacs 19 のみ)
- ver 0.54 <95/06/19> : 高速化、及びバグ修正
- ver 0.55 <95/06/26> : fj 公開バージョン
- ver 0.56 <95/06/26> : mh-biff-mail-arrive-hook の追加
- ver 0.58 <95/07/04> : 関数 mh-biff-delete-unseen-sequence 追加
- ver 0.60 <95/08/14> : 未読メール番号の表示可能
- ver 0.61 <95/08/21> : 独自の時間表示を可能
- ver 0.62 <95/09/23> : Auto inc 対応
- ver 0.63 <95/09/25> : mh-biff-scan でのフォーマット指定可能
- ver 0.70 <95/10/03> : プライベートシーケンス正式対応
- ver 0.71 <95/10/13> : フォルダの表示にエイリアス指定可能
- ver 0.72 <95/11/02> : timer 機能の強化
- ver 0.90 <95/11/21> : timer 機能のバグ修正
- ver 0.91 <95/12/04> : timer 機能を更に強化
- ver 0.92 <95/12/13> : 関数 mh-biff-delete-unseen-sequence の強化
- ver 0.94 <96/01/16> : 複数の未読メッセージシーケンス仮対応
- ver 0.95 <96/05/09> : 細かいバグ修正、Info の追加。
- ver 0.96 <96/09/27> : RPOP 以外の POP に仮対応
- ver 0.97 <97/10/10> : pMH の追加、および対応。
以下の方にはバグ報告及び機能追加に多大な御協力をいただきました。ありがとうございました。そしてこれからもよろしく!! (^^
- Kentaro Kuroiwa 黒岩健太郎 <kuroiwa@msi.co.jp>
- TOKUYO Masanaga <tokuyo@flab.fujitsu.co.jp>
- kita@ozawa.elec.keio.ac.jp (Kenji KITA)
- ISHIKAWA Tomonori <ishikawa@tomato.cs.ehime-u.ac.jp>
- Haruki Nakagoshi <nakagosi@karen.cse.canon.co.jp>
- Hiroki TAGATO/多賀戸裕樹 <hiro@yajima.kuis.kyoto-u.ac.jp>
このプログラムは、フリーソフトウェアとして配布いたします。このプログラムを使用したことにより何らかの損失が発生しても作成者は一切責任を持ちません。使用は各自の責任において行なって下さい。ただし、バグレポートやパッチは大歓迎ですし、質問や要望等についても気軽に御連絡ください。また使ってみての感想なんかもいただけると嬉しいです。
![[YYWP] TOP へ](../images/yywp-logo.jpg)
mh-biff に関する疑問・質問・要望は yokota@yynet.tama.tokyo.jp まで。