[Mew-dist 13586] Re: b45
Shun-ichi GOTO
gotoh at example.com
2000年 7月 10日 (月) 22:03:20 JST
>>>>> at Mon, 10 Jul 2000 20:31:35 +0900
>>>>> 新岡 == Kenichi Niioka (新岡賢一) <ken at example.com> said,
> 具体的にどうするかは、難しいところですが、アイディアとしては、
> minor-mode 表示の部分に "Running" と出ているところに表示するとか、
> なんてのはどうでしょうか。
>
> "Running:2/10:60%" とか。
新岡> "Running: 2/10: 60%" なんて出るとありがたいです。
という事なので、試しに実装してみました。
Mew 1.95b45 + Meadow 1.13b1 でしか試していません。
mew-pop-filter に対する修正なので、ナニかあると厄介なので、
冒険者だけお楽しみ下さい。
POP で retr している最中だけ "Running:2/10:60%" などと出ます。
"10" は全部で 10 通取得しようとしている事を示し、
"2" は 現在2通目のメールを取得中である事を示し、
"60%" は2桁の数字で、その2通目のメールの何パーセントが完了したの
かを示します。
でかいファイルでないとパーセンテージの部分は楽しくないかも知れませんが、
案通目かがわかるのは、かなり安心できます。(^^;
--- Regards,
Shun-ichi Goto <gotoh at example.com>
R&D Group, TAIYO Corp., Tokyo, JAPAN
-------------- next part --------------
Index: mew-pop.el
===================================================================
RCS file: /Master/mew-1.95/mew-pop.el,v
retrieving revision 1.2
retrieving revision 1.4
diff -u -r1.2 -r1.4
--- mew-pop.el 2000/07/10 09:25:46 1.2
+++ mew-pop.el 2000/07/10 13:01:17 1.4
@@ -265,13 +265,37 @@
(set-buffer (get-buffer-create "*Mew debug*"))
(insert (format "\n<%s>\n%s\n" label string)))))
+(defun mew-set-summary-buffer-process-status (folder msg)
+ "Add infomational string MSG to summary buffer process status of Mew.
+Usually displayed as \" Running\" in minor mode indicator area.
+If string argument MSG is specfied, change as \" Running:xxx\".
+If MSG is nil, restore usual format."
+ (save-excursion
+ (set-buffer inbox)
+ (setq mew-summary-buffer-process-status
+ (if (and msg (stringp msg))
+ (concat " Running:" msg)
+ " Running"))))
+
(defun mew-pop-filter (process string)
(let* ((pnm (process-name process))
(status (mew-pop-get-status pnm))
+ (cnt (mew-pop-get-cnt pnm))
+ (msgs (mew-pop-get-messages pnm))
+ (total (+ (length msgs) cnt))
+ (size (cdr (car msgs)))
+ (inbox (mew-pop-get-inbox pnm))
(mulrep (mew-pop-fsm-reply status))
- stay next func)
+ stay next func progress)
(mew-pop-debug (upcase status) string)
(mew-filter
+ ;; report (for debug)
+ (if (not (< cnt total))
+ (setq progress nil)
+ (setq progress (format "%d/%d:%02d%%" (1+ cnt) total
+ (/ (* (buffer-size) 100)
+ (string-to-number size)))))
+ (mew-set-summary-buffer-process-status inbox progress)
;; process's buffer
(goto-char (point-max))
(insert string)
Mew-dist メーリングリストの案内