[Mew-dist 16543] Re: i in summary buffer
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2001年 2月 20日 (火) 16:05:19 JST
From: Tak Ota <Takaaki.Ota at example.com> さん曰く
Subject: [Mew-dist 16542] Re: i in summary buffer
Message-ID: <20010219.225355.107709086.Takaaki.Ota at example.com>
Date: Tue, 20 Feb 2001 15:54:17 +0900
ota> > i した後に C-c C-b で戻るのはどうでしょうか?
ota>
ota> うっ、大変失礼しました。存在を知りませんでした。doc string を見ると
ota> # でもそれでも i で新着メッセージがなかったら自動的に C-c C-b して欲
ota> # しい。
mew-pop-sentinel-hook が run-hook したときに、cnt という変数に受
け取ったメールの個数が入っているので、そいつを使えばいろいろ出来
ます。例えば、sentinel でガバっと動いてしまうので、おしゃれでは
ないのですが、
(add-hook 'mew-pop-sentinel-hook 'mew-after-inc-cook)
(defvar mew-mark-new-message-function 'mew-summary-review-one)
(defun mew-after-inc-cook ()
"Inc の後処理などしてみる。"
(let ((obuf (marker-buffer mew-summary-inbox-position))
(opos (marker-position mew-summary-inbox-position))
(inbox (mew-inbox-folder mew-config-input))
threadp ithreadp inboxp onum)
(when (and obuf (get-buffer obuf))
(save-excursion
(set-buffer obuf)
(if (and (mew-thread-p) (setq threadp t)
(string= (concat "+" inbox) (buffer-name obuf)))
(setq ithreadp t onum (mew-summary-message-number))
(if (string= inbox (buffer-name obuf))
(setq inboxp))))
(cond
(ithreadp
;; ++inbox にいたら、受信したメールに mark を付ける。
(when (> cnt 0)
(save-excursion
(goto-char (point-max))
(forward-line -1)
(mew-mark-put-mark-loop mew-mark-new-message-function (- cnt) nil)))
(mew-summary-make-thread)
(mew-summary-jump-message onum))
((and (= cnt 0) inboxp)
;; inc の前の場所に戻る。どれが良いかな。
;; ((and (= cnt 0) (null threadp))
;; ((= cnt 0)
(mew-summary-exchange-point))))))
な感じ。ちょっと、うるさいから普段は使っていません。
P.S.
## あそこまで、いろいろ書き換えちゃうとは。絶句。
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内